作业辅导 发表于 2021-11-9 07:58:09

21秋南开《C语言程序设计》在线作业题目及答案

21秋学期(1709、1803、1809、1903、1909、2003、2009、2103)《C语言程序设计》在线作业
1.[单选题] 判断字符串a是否大于b,应当使用( )

    A.if (a>b)
    B.if (strcmp(a,b))
    C.if (strcmp(b,a)>0)
    D.if (strcmp(a,b)>0)
    答:——D——
2.[单选题] 在 C 语言中,引用数组元素时,其数组下标的数据类型允许是( )。
    A.整型常量
    B.整型表达式
    C.整型常量或整型表达式
    D.任何类型的表达式
    答:——C——
3.[单选题] 在C语言中,int、char和short三种类型的数据在内存中所占用的字节数( )。
    A.由用户自己定义
    B.均为2个字节
    C.是任意的
    D.由所用机器的机器字长决定
    答:——D——
4.[单选题] C语言中规定,if语句的嵌套结构中,else总是与( )配对
    A.与最近的if 配套
    B.与第一个if 配套
    C.按缩进位置相同的if配套
    D.与最近的且尚未配对的if 配套
    答:————
5.[单选题] int k=1;while (k<=10); 上述语句执行后,变量k的值是( )。
    A.10
    B.11
    C.9
    D.无限循环,值不定
    答:————
6.[单选题] 下列哪个是读写文件出错检测函数( )。   
    A.ferror
    B.clearerr
    C.feof
    D.fwrite
    答:————
7.[单选题] struct person {char name; int age;}; struct person class={"John",17,"Paul",19,"Mary"18,"adam",16}; 根据上面的定义,能打印出字母M的语句是( )。
    A.printf("%c\n",class.name);
    B.printf("%c\n",class.name);
    C.printf("%c\n",class.name);
    D.printf("%c\n",class.name)
    答:————
8.[单选题] 若有定义char str[]= “very good”,则str的长度为( )
    A.8
    B.9
    C.10
    D.11
    答:————
9.[单选题] x=-1;do    { x=x*x; }while (x); 以上程序段( )
    A.是死循环
    B.循环执行2次
    C.循环执行1次
    D.有语法错误
    答:————
10.[单选题] x=-2; y=-1; if(x!=0)   if(x>0) y=1; else y=0; 该程序段的输出结果为( )。
    A.1
    B.0
    C.-1
    D.不确定
    答:————
11.[单选题] #include “stdio.h” void main() { int sum=0,a=1;   while(a<=10)    {sum=sum+a;   a++;   } printf(“sum=%d\n”,sum); } 以上程序段的运行结果是( )
    A.sum=0
    B.sum=55
    C.sum=10
    D.sum=11
    答:————
12.[单选题] 判断字符串a是否大于b,应当使用( )
    A.if (a>b)
    B.if (strcmp(a,b))
    C.if (strcmp(b,a)>0)
    D.if (strcmp(a,b)>0)
    答:————
13.[单选题] fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是( )
    A.只写
    B.追加
    C.读或读写
    D.答案B和C都正确
    答:————
14.[单选题] main( ){int n=4; while(n)printf("%d ",--n);} 以上程序的输出结果是( )。
    A.2 0
    B.3 1
    C.3 2 1 0
    D.2 1 0
    答:————
15.[单选题] 以下叙述中错误的是:
    A.变量的作用域取决于变量定义语句出现的位置
    B.同一程序中,全局变量的作用域一定比局部变量的作用域大
    C.局部变量的作用域是在定义它的函数体内
    D.全局变量的作用域是从定义位置开始至源文件结束
    答:————
16.[单选题] C程序的执行从哪里开始( )
    A.第一条语句
    B.第一个函数
    C.最后一个函数
    D.主函数
    答:————
17.[单选题] 若调用fputc函数输出字符成功,则其返回值是( )
    A.EOF
    B.1
    C.0
    D.输出的字符
    答:————
18.[单选题] 下面不正确的字符串常量是( )。
    A.abc'
    B."12'12"
    C."0 "
    D." "
    答:————
19.[单选题] printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式( )
    A.从左起输出该字串,右补空格
    B.按原字符长从左向右全部输出
    C.右对齐输出该字串,左补空格
    D.输出错误信息
    答:————
20.[单选题] 已知p,p1为指针变量,a为数组名,i为整型变量,下列赋值语句中不正确的是( )
    A.p=&i
    B.p=p1
    C.p=&a
    D.p=10
    答:————
21.[单选题] 数组名作为实参传递给形参时,数组名被处理为( )
    A.该数组的长度
    B.该数组的元素个数
    C.该数组的首地址
    D.该数组中各元素的值
    答:————
22.[单选题] 当不能正确执行文件关闭操作时,fclose函数的返回值是( )。
    A.-1
    B.EOF
    C.TRUE
    D.1
    答:————
23.[单选题] 若有以下定义语句:int a={1,2,3,4,5,6,7,8,9,10};
则下列哪个是对该数组元素的正确引用()
    A.a
    B.a-5]
    C.a]
    D.a+4]
    答:————
24.[单选题] 设有说明语句:char w;int x;float y;double z;w*x+z-y值的数据类型为( )。
    A.float
    B.char
    C.int
    D.double
    答:————
25.[单选题] C语言的函数中,( )。
    A.必须有形参
    B.形参必须是变量名
    C.可以有也可以没有形参
    D.数组名不能作形参
    答:————
26.[单选题] #include main() {union { long a; int b; char c;}m; printf("%d\n",sizeof(m));} 以上程序的运行结果是( )。
    A.2
    B.4
    C.6
    D.8
    答:————
27.[单选题] 若定义语句:int a=7;float x=2.5;y=4. 7; 则表达式x+a%3*(int)(x+y)%2/4的值是( )
    A.2.500000
    B.2.750000
    C.3.500000
    D.0.000000
    答:————
28.[单选题] 若执行fopen函数时发生错误,则函数的返回值是( )
    A.地址值
    B.null
    C.1
    D.EOF
    答:————
29.[单选题] putchar函数可以向终端输出一个:
    A.整型变量表达式值
    B.实型变量值
    C.字符串
    D.字符或字符型变量值
    答:————
30.[单选题] 下面4个选项中,均是不合法的用户标识符的选项是( )
    A.AP_0do
    B.floata0_A
    C.b-a123int
    D._123tempINT
    答:————
31.[单选题] 下面正确的字符常量是( )
    A."c"
    B."\\"
    C.'W'
    D.''(中间没有空格)
    答:————
32.[单选题] 已知字母A的ASCII码为十进制数65,且定义c2为字符型变量,则执行语句c2='A'+'6'-'3';后,c2中的值为( )
    A.D
    B.68
    C.不确定的值
    D.C
    答:————
33.[单选题] main() {struct date {int year,month,day;}today; printf("%d\n",sizeof(struct date));} 以上程序的运行结果是( )
    A.6
    B.8
    C.10
    D.12
    答:————
34.[单选题] 若已有定义int x;下列说明指针变量p指向x的正确语句是( )
    A.int p=&x;
    B.int *p=&x;
    C.int p=x;
    D.int *p=x;
    答:————
35.[单选题] main() { int x,y,z; scanf (“%d%d%d”,&x,&y,&z); printf(“x+y+z=%d\n”,x+y+z); } 输入数据的形式是25,13,10,则程序的输出结果是( )
    A.x+y+z=48
    B.x+y+z=35
    C.x+z=35
    D.不确定值
    答:————
36.[单选题] 若要打开D盘上user文件夹下名为abc.txt的文本文件进行读、写操作,符合此要求的函数调用是( )
    A.fopen("D:\\user\\abc.txt","r")
    B.fopen("D:\user\abc.txt","w")
    C.fopen("D:\\user\\abc.txt","r+")
    D.fopen("D:\user\abc.txt","rb")
    答:————
37.[单选题] 在C语言中,要求运算数必须是整型的运算符是( )。
    A./
    B.&&
    C.!=
    D.%
    答:————
38.[单选题] fwrite函数的一般调用形式是( )
    A.fwrite(buffer,count,size,fp)
    B.fwrite(fp,size,count,buffer)
    C.fwrite(fp,count,size,buffer)
    D.fwirte(buffer,size,count,fp)
    答:————
39.[单选题] 已知学生记录描述为 struct student {int no; char name; char sex; struct {int year; int month; int day;}birth;}; struct student s; 设变量s中的“生日”应该是“1984年11月11日”,下列对“生日”的正确赋值方式是( )。
    A.year=1984; month=11; day=11;
    B.birth.year=1984; birth.month=11; birth.day=11;
    C.s.year=1984; s.month=11; s.day=11;
    D.s.birth.year=1984; s.birth.month=11; s.birth.day=11;
    答:————
40.[单选题] 下面程序段int k=2;while (k==0) {printf(“%d”,k);k--;} 则下面描述中正确的是()。
    A.while 循环执行 10 次
    B.循环是无限循环
    C.循环体语句一次也不执行
    D.循环体语句执行一次
    答:————
41.[判断题] 在C语言中,字母的大小写不被区分。()
    A.错误
    B.正确
    答:————
42.[判断题] 用C语言可直接进行位运算和取地址等运算,因此C语言是一种低级语言。()
    A.错误
    B.正确
    答:————
43.[判断题] C语言中没有依存于硬件的I/O语句。()
    A.错误
    B.正确
    答:————
44.[判断题] 对整型常量可进行自加或自减运算,而对变量或表达式不可以。()
    A.错误
    B.正确
    答:————
45.[判断题] 在Visual C中,实型数据在内存中占4个字节。()
    A.错误
    B.正确
    答:————
46.[判断题] C语言中的标识符以字母或下划线开头,可跟任何字符。()
    A.错误
    B.正确
    答:————
47.[判断题] PI可作为标识符使用。()
    A.错误
    B.正确
    答:————
48.[判断题] C语言中的任何类型数据都可进行四则运算。()
    A.错误
    B.正确
    答:————
49.[判断题] 被main函数调用的函数只能是库函数。()
    A.错误
    B.正确
    答:————
50.[判断题] 在Turbo C++中,存储字符串常数时所占内存空间是不固定。()
    A.错误
    B.正确
    答:————


页: [1]
查看完整版本: 21秋南开《C语言程序设计》在线作业题目及答案