正确答案:-----
南开21春学期《C语言程序设计》在线作业[答案]答案
21春学期(1709、2103、2109、1903、1909、2003、2009、2103)《C语言程序设计》在线作业
试卷总分:100 得分:100
一、单选题 (共 40 道试题,共 80 分)
1.在 C 语言中,引用数组元素时,其数组下标的数据类型允许是( )。
A.整型常量
B.整型表达式
C.整型常量或整型表达式
D.任何类型的表达式
正确答案:-----
正确答案:-----
2.main( ) {int n=4; while(n)printf("%d ",--n); } 以上程序的输出结果是( )。
正确答案:-----
正确答案:-----
A.2 0
B.3 1
C.3 2 1 0
D.2 1 0
正确答案:-----
正确答案:-----
3.当说明一个结构体变量时系统分配给它的内存是( )
A.各成员所需内存的总和
B.结构中第一个成员所需内存量
C.成员中占内存量最大者所需的容量
D.结构中最后一个成员所需内存量
正确答案:-----
正确答案:-----
4.以下不正确的语句为( )
A.if(x>y);
B.if(x>y){x++;y++;}
C.if(x=y)&&(x!=0)x+=y;
D.if(x!=y) scanf("%d",&x); else scanf("%d",&y);
正确答案:-----
正确答案:-----
5.#include<stdio.h> main() {union { long a; int b; char c;}m; printf("%d ",sizeof(m));} 以上程序的运行结果是( )。
正确答案:-----
正确答案:-----
正确答案:-----
A.2
B.4
C.6
D.8
正确答案:-----
正确答案:-----
6.以下对一维整型数组 a 的正确说明是( )
A.int a(10) ;
B.int n=10,a[n];
C.int n;
D.define SIZE 10 int a[SIZE];
正确答案:-----
正确答案:-----
正确答案:-----
7.设有如下程序 # include<stdio.h> main() { char ch1='A',ch2='a'; printf("%c ",(ch1,ch2)); } 则下列叙述正确的为( )
正确答案:-----
正确答案:-----
A.程序的输出结果为大写字母A
B.程序的输出结果为小写字母a
C.运行时产生错误信息
D.格式说明符的个数少于输出项的个数,编译出错
正确答案:-----
正确答案:-----
8.已知各变量的类型说明如下: int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下符合C语言语法的表达式是:
正确答案:-----
正确答案:-----
A.a十=a一=(b= 4)*(a=3)
B.a=a*3=2
C.x%(一3)
D.y=f1oat(i)
正确答案:-----
正确答案:-----
9.下列哪个是读写文件出错检测函数( )。
A.ferror
B.clearerr
C.feof
D.fwrite
正确答案:-----
正确答案:-----
10.判断字符串a是否大于b,应当使用( )
A.if (a>b)
B.if (strcmp(a,b))
C.if (strcmp(b,a)>0)
D.if (strcmp(a,b)>0)
正确答案:-----
正确答案:-----
正确答案:-----
正确答案:-----
11.main() {struct date {int year,month,day;}today; printf("%d ",sizeof(struct date));} 以上程序的运行结果是( )
正确答案:-----
正确答案:-----
A.6
B.8
C.10
D.12
正确答案:-----
正确答案:-----
12.一个源程序文件由一个或多个什么组成( )
A.语句
B.函数
C.程序块
D.子程序
正确答案:-----
正确答案:-----
13.若已有定义int x;下列说明指针变量p指向x的正确语句是( )
A.int p=&x;
B.int *p=&x;
C.int p=x;
D.int *p=x;
正确答案:-----
正确答案:-----
14.已知p,p1为指针变量,a为数组名,i为整型变量,下列赋值语句中不正确的是( )
A.p=&i
B.p=p1
C.p=&a[i]
D.p=10
正确答案:-----
正确答案:-----
15.在C语言中,char型数据在内存中的存储形式是( )
A.补码
B.反码
C.原码
D.ASCII码
正确答案:-----
正确答案:-----
正确答案:-----
16.判断字符串a是否大于b,应当使用( )
A.if (a>b)
B.if (strcmp(a,b))
C.if (strcmp(b,a)>0)
D.if (strcmp(a,b)>0)
17.若要打开D盘上user文件夹下名为abc.txt的文本文件进行读、写操作,符合此要求的函数调用是( )
正确答案:-----
正确答案:-----
A.fopen("D:userabc.txt","r")
正确答案:-----
正确答案:-----
B.fopen("D:userabc.txt","w")
正确答案:-----
正确答案:-----
C.fopen("D:userabc.txt","r+")
正确答案:-----
正确答案:-----
D.fopen("D:userabc.txt","rb")
正确答案:-----
正确答案:-----
21.下面程序段 int k=2; while (k==0) {printf(“%d”,k);k--;} 则下面描述中正确的是()。
正确答案:-----
正确答案:-----
正确答案:-----
A.while 循环执行 10 次
B.循环是无限循环
C.循环体语句一次也不执行
D.循环体语句执行一次
正确答案:-----
正确答案:-----
19.C程序的执行从哪里开始( )
A.第一条语句
B.第一个函数
C.最后一个函数
D.主函数
正确答案:-----
正确答案:-----
20.设以下变量均为int类型,则值不等于7的表达式是( )
A.(x= y= 6, x+y,x+1)
B.(x= y= 6,x+y,y+1)
C.(x= 6,x+1,y= 6,x+y)
D.(y=6,y+l,x = y,x+1)
正确答案:-----
正确答案:-----
21.下面4个选项中,均是不合法的用户标识符的选项是( )
A.A P_0 do
正确答案:-----
正确答案:-----
B.float a0 _A
C.b-a 123 int
D._123 temp INT
正确答案:-----
正确答案:-----
22.for (i=2; i=0; ) printf(“%d” , i--) ; 以上程序段的循环次数是( )。
正确答案:-----
正确答案:-----
A.2次
B.无限次
C.0 次
D.1 次
正确答案:-----
正确答案:-----
正确答案:-----
正确答案:-----
23.设有以下说明语句 struct stu {int a;float b;}stutype; 则以下叙述不正确的是( )
A.stutype 是用户定义的结构体类型名
B.a 和 b 都是结构体成员名
C.struct 是结构体类型的关键字
D.struct stu 是用户定义的结构体类型
正确答案:-----
正确答案:-----
24.若以”a+”方式打开一个已存在的文件,则以下叙述正确的是( )。
正确答案:-----
正确答案:-----
正确答案:-----
A.文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作。
B.文件打开时,原有文件内容被删除,位置指针移到文件开头,可作重新写和读操作。
C.文件打开时,原有文件内容被删除,只可作写操作。
D.以上各种说法皆不下确。
正确答案:-----
正确答案:-----
正确答案:-----
25.从用户使用的角度看,函数有两种,它们是( )
A.库函数和用户自定义函数
B.库函数和主函数
C.用户自定义函数和主函数
D.主函数和子函数
正确答案:-----
正确答案:-----
正确答案:-----