南开12春学期《C语言程序设计》在线作业答案
南开12春学期《C语言程序设计》在线作业一、单选题:
1. 在C语言中,要求运算数必须是整型的运算符是( )。 (满分:2)
A. /
B. &&
C. !=
D. %
2. 若有定义char str[]= “very good”,则str的长度为( ) (满分:2)
A. 8
B. 9
C. 10
D. 11
3. 若以”a+”方式打开一个已存在的文件,则以下叙述正确的是( )。 (满分:2)
A. 文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作。
B. 文件打开时,原有文件内容被删除,位置指针移到文件开头,可作重新写和读操作。
C. 文件打开时,原有文件内容被删除,只可作写操作。
D. 以上各种说法皆不下确。
4. 下列哪个是字符写函数( )。 (满分:2)
A. fgetc
B. fputc
C. fgets
D. fwrite
5. 在C语言中,int、char和short三种类型的数据在内存中所占用的字节数( )。 (满分:2)
A. 由用户自己定义
B. 均为2个字节
C. 是任意的
D. 由所用机器的机器字长决定
6. 若要打开D盘上user文件夹下名为abc.txt的文本文件进行读、写操作,符合此要求的函数调用是( ) (满分:2)
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")
7. 若有以下定义语句:int a={1,2,3,4,5,6,7,8,9,10}; 则下列哪个是对该数组元素的正确引用() (满分:2)
A. a
B. a-5]
C. a]
D. a+4]
8. 已知p,p1为指针变量,a为数组名,i为整型变量,下列赋值语句中不正确的是( ) (满分:2)
A. p=&i
B. p=p1
C. p=&a
D. p=10
9. 一个源程序文件由一个或多个什么组成( ) (满分:2)
A. 语句
B. 函数
C. 程序块
D. 子程序
10. 若已有定义int x;下列说明指针变量p指向x的正确语句是( ) (满分:2)
A. int p=&x;
B. int *p=&x;
C. int p=x;
D. int *p=x;
11. int k=1;while (k<=10); 上述语句执行后,变量k的值是( ) (满分:2)
A. 10
B. 11
C. 9
D. 无限循环,值不定
12. fscanf函数的正确调用形式是( )。 (满分:2)
A. fscanf(文件指针,格式字符串,输出表列)
B. fscanf(格式字符串,输出表列, fp)
C. fscanf(格式字符串,文件指针,输出表列)
D. fscanf(文件指针,格式字符串,输入表列)
13. 下面不正确的字符串常量是( )。 (满分:2)
A. abc'
B. "12'12"
C. "0 "
D. " "
14. 设有以下说明语句 struct stu {int a;float b;}stutype; 则以下叙述不正确的是( ) (满分:2)
A. stutype 是用户定义的结构体类型名
B. a 和 b 都是结构体成员名
C. struct 是结构体类型的关键字
D. struct stu 是用户定义的结构体类型
15. 在 C 语言中,引用数组元素时,其数组下标的数据类型允许是( )。 (满分:2)
A. 整型常量
B. 整型表达式
C. 整型常量或整型表达式
D. 任何类型的表达式
16. 若执行fopen函数时发生错误,则函数的返回值是( ) (满分:2)
A. 地址值
B. null
C. 1
D. EOF
17. int k=1;while (k<=10); 上述语句执行后,变量k的值是( )。 (满分:2)
A. 10
B. 11
C. 9
D. 无限循环,值不定
18. 若调用fputc函数输出字符成功,则其返回值是( ) (满分:2)
A. EOF
B. 1
C. 0
D. 输出的字符
19. x=-1;do { x=x*x; }while (x); 以上程序段( ) (满分:2)
A. 是死循环
B. 循环执行2次
C. 循环执行1次
D. 有语法错误
20. 关于return语句,下列说法正确的是( )。 (满分:2)
A. 不能在主函数中出现
B. 必须在每个函数中出现
C. 可以在同一个函数中出现多次
D. 只能在除主函数之外的函数中再出现一次
21. 如果在C语言中一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为( )。 (满分:2)
A. 0~255
B. 0~32 767
C. 0~65 535
D. 0~2 147 483 647
22. main() {struct date {int year,month,day;}today; printf("%d\n",sizeof(struct date));} 以上程序的运行结果是( ) (满分:2)
A. 6
B. 8
C. 10
D. 12
23. 设以下变量均为int类型,则值不等于7的表达式是( ) (满分:2)
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)
24. 判断字符串a是否大于b,应当使用( ) (满分:2)
A. if (a>b)
B. if (strcmp(a,b))
C. if (strcmp(b,a)>0)
D. if (strcmp(a,b)>0)
25. printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式( ) (满分:2)
A. 从左起输出该字串,右补空格
B. 按原字符长从左向右全部输出
C. 右对齐输出该字串,左补空格
D. 输出错误信息
26. for (i=2; i==0; ) printf(“%d” , i--) ; 以上程序段的循环次数是( ) (满分:2)
A. 2次
B. 无限次
C. 0次
D. 1 次
27. C语言结构体类型变量在程序执行期间( )。 (满分:2)
A. 所有成员一直驻留在内存中
B. 只有一个成员驻留在内存中
C. 部分成员驻留在内存中
D. 没有成员驻留在内存中
28. main() {int x=2,y=-1,z=2;if(x<y) if(y<0) z=0; else z+=1;printf("%d\n",z); } 以上程序的输出结果为( )。 (满分:2)
A. 3
B. 2
C. 1
D. 0
29. 下列关于数组的特征错误的是( )。 (满分:2)
A. 先定义后使用
B. 可以有多维
C. 定义数组长度时可以用常量或变量
D. 可以作参数传递
30. 以下叙述中错误的是: (满分:2)
A. 局部变量的定义可以在函数体内部
B. 全局变量的定义可以在函数以外的任何位置
C. 同一程序中,全局变量和局部变量不能同名
D. 函数的形参属于局部变量
31. 从用户使用的角度看,函数有两种,它们是( ) (满分:2)
A. 库函数和用户自定义函数
B. 库函数和主函数
C. 用户自定义函数和主函数
D. 主函数和子函数
32. 以下符合C语言语法的赋值表达式是( ) (满分:2)
A. d=9+e+f=d+9
B. d=9+e,f=d+9
C. d=9十e,e++,d十9
D. d=9十e++=d十7
33. 当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是 (满分:2)
A. k%2
B. k%2==0
C. (k%2)!=0
D. !(k%2==0)
34. 已知学生记录描述为 struct student {int no; char name; char sex; struct {int year; int month; int day;}birth;}; struct student s; 设变量s中的“生日”应该是“1984年11月11日”,下列对“生日”的正确赋值方式是( )。 (满分:2)
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;
35. 下面4个选项中,均是C语言关键字的选项是( )。 (满分:2)
A. autoenuminclude
B. switchtypedefcontinue
C. signedunionscanf
D. ifstructtype
36. 当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是 (满分:2)
A. k%2
B. k%2==0
C. (k%2)!=0
D. !(k%2==0)
37. 以下不正确的叙述是( ) (满分:2)
A. 在C程序中,逗号运算符的优先级最低
B. 在C程序中,APH和aph是两个不同的变量
C. 若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。
D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。
38. 以下不正确的语句为( ) (满分:2)
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);
39. 若定义语句:int a=7;float x=2.5;y=4. 7; 则表达式x+a%3*(int)(x+y)%2/4的值是( ) (满分:2)
A. 2.500000
B. 2.750000
C. 3.500000
D. 0.000000
40. #include “stdio.h” void main() { int sum=0,a=1; while(a<=10) {sum=sum+a; a++; } printf(“sum=%d\n”,sum); } 以上程序段的运行结果是( ) (满分:2)
A. sum=0
B. sum=55
C. sum=10
D. sum=11
二、多选题:
1. 被main函数调用的函数只能是库函数。() (满分:2)
A. 错误
B. 正确
2. C语言中的任何类型数据都可进行四则运算。() (满分:2)
A. 错误
B. 正确
3. 赋值表达式c=b=a=3是错误的。() (满分:2)
A. 错误
B. 正确
4. C语言采用解释方式将源程序转换为二进制的目标代码。() (满分:2)
A. 错误
B. 正确
5. 在C源程序中,/*与*/之间的注释信息也被编译,但对程序运行运果不发生影响。() (满分:2)
A. 错误
B. 正确
6. C程序是由函数构成的,每一个函数完成相对独立的功能。() (满分:2)
A. 错误
B. 正确
7. 在Turbo C++中,存储字符串常数时所占内存空间是不固定。() (满分:2)
A. 错误
B. 正确
8. C语言中的标识符以字母或下划线开头,可跟任何字符。() (满分:2)
A. 错误
B. 正确
9. 字符常数和字符串常数的存储是相同的,都是以字符的ASCII码值进行存放。() (满分:2)
A. 错误
B. 正确
10. 对整型常量可进行自加或自减运算,而对变量或表达式不可以。() (满分:2)
A. 错误
B. 正确转载请注明奥鹏作业答案网 www.ap5u.com
页:
[1]