C语言程序设计题库南开在线作业题库 .doc
1603在线作业1. 若执行fopen函数时发生错误,则函数的返回值是( )A. 地址值B. nullC. 1D. EOF 满分:2 分 得分:2B2. 下列哪个是字符写函数( )。A. fgetcB. fputcC. fgetsD. fwrite 满分:2 分 得分:2B3. struct person char name9; int age; struct person class10="John",17,"Paul",19,"Mary"18,"adam",16; 根据上面的定义,能打印出字母M的语句是( )。A. printf("%cn",class3.name);B. printf("%cn",class3.name1);C. printf("%cn",class2.name1);D. printf("%cn",class2.name0) 满分:2 分 得分:2D4. 若以”a+”方式打开一个已存在的文件,则以下叙述正确的是( )。A. 文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作。B. 文件打开时,原有文件内容被删除,位置指针移到文件开头,可作重新写和读操作。C. 文件打开时,原有文件内容被删除,只可作写操作。D. 以上各种说法皆不下确。 满分:2 分 得分:2D5. 下面4个选项中,均是不合法的用户标识符的选项是( )A. A P_0 doB. float a0 _AC. ba 123 intD. _123 temp INT 满分:2 分 得分:2C6. 当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是A. k%2B. k%2=0C. (k%2)!=0D. !(k%2=0) 满分:2 分 得分:2B7. putchar函数可以向终端输出一个:A. 整型变量表达式值B. 实型变量值C. 字符串D. 字符或字符型变量值 满分:2 分 得分:2D8. for (i=2; i=0; ) printf(“%d” , i-) ; 以上程序段的循环次数是( )A. 2次B. 无限次C. 0次D. 1 次 满分:2 分 得分:2C9. fscanf函数的正确调用形式是( )。A. fscanf(文件指针,格式字符串,输出表列)B. fscanf(格式字符串,输出表列, fp)C. fscanf(格式字符串,文件指针,输出表列)D. fscanf(文件指针,格式字符串,输入表列) 满分:2 分 得分:2A10. int k=1; while (k<=10); 上述语句执行后,变量k的值是( )。A. 10B. 11C. 9D. 无限循环,值不定 满分:2 分 得分:2D11. 下列关于数组的特征错误的是( )。A. 先定义后使用B. 可以有多维C. 定义数组长度时可以用常量或变量D. 可以作参数传递 满分:2 分 得分:2C12. 已知学生记录描述为 struct student int no; char name20; 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. =1984; =11; =11;C. s.year=1984; s.month=11; s.day=11;D. s.=1984; s.=11; s.=11; 满分:2 分 得分:2D13. 设有以下说明语句 struct stu int a;float b;stutype; 则以下叙述不正确的是( )A. stutype 是用户定义的结构体类型名B. a 和 b 都是结构体成员名C. struct 是结构体类型的关键字D. struct stu 是用户定义的结构体类型 满分:2 分 得分:2A14. main() int x,y,z; scanf (“%d%d%d”,&x,&y,&z); printf(“x+y+z=%dn”,x+y+z); 输入数据的形式是25,13,10<回车>,则程序的输出结果是( )A. x+y+z=48B. x+y+z=35C. x+z=35D. 不确定值 满分:2 分 得分:2A15. 以下不正确的语句为( )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); 满分:2 分 得分:2C16. 一个源程序文件由一个或多个什么组成( )A. 语句B. 函数C. 程序块D. 子程序 满分:2 分 得分:2B17. 已知各变量的类型说明如下: 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=2C. x%(一3)D. y=f1oat(i) 满分:2 分 得分:2A18. #include “stdio.h” void main() int sum=0,a=1; while(a<=10) sum=sum+a; a+; printf(“sum=%dn”,sum); 以上程序段的运行结果是( )A. sum=0B. sum=55C. sum=10D. sum=11 满分:2 分 得分:2B19. printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式( )A. 从左起输出该字串,右补空格B. 按原字符长从左向右全部输出C. 右对齐输出该字串,左补空格D. 输出错误信息 满分:2 分 得分:2B20. for (i=2; i=0; ) printf(“%d” , i-) ; 以上程序段的循环次数是( )。A. 2次B. 无限次C. 0 次D. 1 次 满分:2 分 得分:2B21. 已知字母A的ASCII码为十进制数65,且定义c2为字符型变量,则执行语句c2='A'+'6'-'3'后,c2中的值为( )A. DB. 68C. 不确定的值D. C 满分:2 分 得分:2A22. C程序的执行从哪里开始( )A. 第一条语句B. 第一个函数C. 最后一个函数D. 主函数 满分:2 分 得分:2D23. 下列函数调用中,不正确的是( )A. max(a,b)B. max(3,a+b)C. max(3,5)D. int max(a,b) 满分:2 分 得分:2D24. 设有说明语句:char w;int x;float y;double z;w*x+z-y值的数据类型为( )。A. floatB. charC. intD. double 满分:2 分 得分:2D25. 在C语言中,char型数据在内存中的存储形式是( )A. 补码B. 反码C. 原码D. ASCII码 满分:2 分 得分:2D26. fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是( )A. 只写B. 追加C. 读或读写D. 答案B和C都正确 满分:2 分 得分:2D27. 下列哪个是读写文件出错检测函数( )。A. ferrorB. clearerrC. feofD. fwrite 满分:2 分 得分:2A28. C语言结构体类型变量在程序执行期间( )。A. 所有成员一直驻留在内存中B. 只有一个成员驻留在内存中C. 部分成员驻留在内存中D. 没有成员驻留在内存中 满分:2 分 得分:2A29. 以下符合C语言语法的赋值表达式是( )A. d=9+e+f=d+9B. d=9+e,f=d+9C. d=9十e,e+,d十9D. d=9十e+=d十7 满分:2 分 得分:2B30. 下面正确的字符常量是( )A. "c"B. ""C. 'W'D. ''(中间没有空格) 满分:2 分 得分:2C31. 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) 满分:2 分 得分:2D32. 当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是A. k%2B. k%2=0C. (k%2)!=0D. !(k%2=0) 满分:2 分 得分:2B33. 下面4个选项中,均是C语言关键字的选项是( )。A. auto enum includeB. switch typedef continueC. signed union scanfD. if struct type 满分:2 分 得分:2B34. main() struct date int year,month,day;today; printf("%dn",sizeof(struct date); 以上程序的运行结果是( )A. 6B. 8C. 10D. 12 满分:2 分 得分:2D35. 若要打开D盘上user文件夹下名为abctxt的文本文件进行读、写操作,符合此要求的函数调用是( )A. fopen("D:user","r")B. fopen("D:user","w")C. fopen("D:user","r+")D. fopen("D:user","rb") 满分:2 分 得分:2C36. 下面不正确的字符串常量是( )A. abc'B. "12'12"C. "0 "D. " " 满分:2 分 得分:2A37. 以下对C语言中共用体类型数据的叙述正确的是( )A. 可以对共用体变量名直接赋值B. 一个共用体变量中可以同时存放其所有成员C. 一个共用体变量中不能同时存放其所有成员D. 共用体类型定义中不能出现结构体类型的成员 满分:2 分 得分:2C38. 以下不正确的叙述是( )A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。 满分:2 分 得分:2D39. x=-1; do x=x*x; while (x); 以上程序段( )A. 是死循环B. 循环执行2次C. 循环执行1次D. 有语法错误 满分:2 分 得分:2D40. 若有以下定义语句:int a10=1,2,3,4,5,6,7,8,9,10; 则下列哪个是对该数组元素的正确引用( )A. a10B. aa3-5C. aa9D. aa4+4 满分:2 分 得分:2D1. 在Turbo C+中,字符型数据在内存中占个字节。( )A. 错误B. 正确 满分:2 分 得分:2B2. 在Visual C中,实型数据在内存中占个字节。( )A. 错误B. 正确 满分:2 分 得分:2B3. 在源程序中,/*与*/之间的注释信息也被编译,但对程序运行运果不发生影响。( )A. 错误B. 正确 满分:2 分 得分:2A4. 对语言中用到的任何一个变量都要规定其类型。( )A. 错误B. 正确 满分:2 分 得分:2B5. 字符型数据和整数之间是不可以通用的。( )A. 错误B. 正确 满分:2 分 得分:2A6. 语言中没有依存于硬件的/语句。( )A. 错误B. 正确 满分:2 分 得分:2B7. C语言中的标识符以字母或下划线开头,可跟任何字符。( )A. 错误B. 正确 满分:2 分 得分:2A8. 在语言中,字母的大小写不被区分。( )A. 错误B. 正确 满分:2 分 得分:2A9. 赋值表达式是错误的。( )A. 错误B. 正确 满分:2 分 得分:2A10. 程序是由函数构成的,每一个函数完成相对独立的功能。( )A. 错误B. 正确 满分:2 分 得分:2B1609在线作业1. 下面4个选项中,均是不合法的用户标识符的选项是( )A. A P_0 doB. float a0 _AC. ba 123 intD. _123 temp INT 满分:2 分 得分:2C2. 已知p,p1为指针变量,a为数组名,i为整型变量,下列赋值语句中不正确的是( )A. p=&iB. p=p1C. p=&aiD. p=10 满分:2 分 得分:2D3. struct person char name9; int age; struct person class10="John",17,"Paul",19,"Mary"18,"adam",16; 根据上面的定义,能打印出字母M的语句是( )。A. printf("%cn",class3.name);B. printf("%cn",class3.name1);C. printf("%cn",class2.name1);D. printf("%cn",class2.name0) 满分:2 分 得分:2D4. 若有以下定义语句 union data int l; char c; float f;a; int n;则以下语句正确的是( )A. a=5;B. a=2,'a',1.2;C. printf("%dn",a.l);D. n=a; 满分:2 分 得分:2C5. 若以”a+”方式打开一个已存在的文件,则以下叙述正确的是( )。A. 文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作。B. 文件打开时,原有文件内容被删除,位置指针移到文件开头,可作重新写和读操作。C. 文件打开时,原有文件内容被删除,只可作写操作。D. 以上各种说法皆不下确。 满分:2 分 得分:2D6. 已知字母A的ASCII码为十进制数65,且定义c2为字符型变量,则执行语句c2='A'+'6'-'3'后,c2中的值为( )A. DB. 68C. 不确定的值D. C 满分:2 分 得分:2A7. 若已有定义int x=2; int *p=&x;则*p的值为( )A. 2B. &xC. *xD. &p 满分:2 分 得分:2A8. 关于return语句,下列说法正确的是( )。A. 不能在主函数中出现B. 必须在每个函数中出现C. 可以在同一个函数中出现多次D. 只能在除主函数之外的函数中再出现一次 满分:2 分 得分:2C9. C语言的函数中,( )。A. 必须有形参B. 形参必须是变量名C. 可以有也可以没有形参D. 数组名不能作形参 满分:2 分 得分:2C10. 设有如下程序 # include<stdio.h> main() char ch1='A',ch2='a' printf("%cn",(ch1,ch2); 则下列叙述正确的为( )A. 程序的输出结果为大写字母AB. 程序的输出结果为小写字母aC. 运行时产生错误信息D. 格式说明符的个数少于输出项的个数,编译出错 满分:2 分 得分:2B11. 以下叙述中错误的是:A. 局部变量的定义可以在函数体内部B. 全局变量的定义可以在函数以外的任何位置C. 同一程序中,全局变量和局部变量不能同名D. 函数的形参属于局部变量 满分:2 分 得分:2C12. 下面4个选项中,均是C语言关键字的选项是( )。A. auto enum includeB. switch typedef continueC. signed union scanfD. if struct type 满分:2 分 得分:2B13. 下列哪个是字符写函数( )。A. fgetcB. fputcC. fgetsD. fwrite 满分:2 分 得分:2B14. fscanf函数的正确调用形式是( )。A. fscanf(文件指针,格式字符串,输出表列)B. fscanf(格式字符串,输出表列, fp)C. fscanf(格式字符串,文件指针,输出表列)D. fscanf(文件指针,格式字符串,输入表列) 满分:2 分 得分:2A15. 一个源程序文件由一个或多个什么组成( )A. 语句B. 函数C. 程序块D. 子程序 满分:2 分 得分:2B16. C语言结构体类型变量在程序执行期间( )。A. 所有成员一直驻留在内存中B. 只有一个成员驻留在内存中C. 部分成员驻留在内存中D. 没有成员驻留在内存中 满分:2 分 得分:2A17. main() int x=2,y=-1,z=2; if(x<y) if(y<0) z=0; else z+=1; printf("%dn",z); 以上程序的输出结果为( )。A. 3B. 2C. 1D. 0 满分:2 分 得分:2B18. 当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是A. k%2B. k%2=0C. (k%2)!=0D. !(k%2=0) 满分:2 分 得分:2B19. int k=1; while (k<=10); 上述语句执行后,变量k的值是( )。A. 10B. 11C. 9D. 无限循环,值不定 满分:2 分 得分:2D20. 若有定义char str= “very good”,则str的长度为( )A. 8B. 9C. 10D. 11 满分:2 分 得分:2C21. 数组名作为实参传递给形参时,数组名被处理为( )A. 该数组的长度B. 该数组的元素个数C. 该数组的首地址D. 该数组中各元素的值 满分:2 分 得分:2C22. x=-1; do x=x*x; while (x); 以上程序段( )A. 是死循环B. 循环执行2次C. 循环执行1次D. 有语法错误 满分:2 分 得分:2D23. 下列哪个是读写文件出错检测函数( )。A. ferrorB. clearerrC. feofD. fwrite 满分:2 分 得分:2A24. fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是( )A. 只写B. 追加C. 读或读写D. 答案B和C都正确 满分:2 分 得分:2D25. 已知学生记录描述为 struct student int no; char name20; 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. =1984; =11; =11;C. s.year=1984; s.month=11; s.day=11;D. s.=1984; s.=11; s.=11; 满分:2 分 得分:2D26. 当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是A. k%2B. k%2=0C. (k%2)!=0D. !(k%2=0) 满分:2 分 得分:2B27. 变量的指针,其含义是指该变量的( )A. 地址B. 值C. 名字D. 标识 满分:2 分 得分:2A28. putchar函数可以向终端输出一个:A. 整型变量表达式值B. 实型变量值C. 字符串D. 字符或字符型变量值 满分:2 分 得分:2D29. 以下不正确的叙述是( )A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。 满分:2 分 得分:2D30. 若执行fopen函数时发生错误,则函数的返回值是( )A. 地址值B. nullC. 1D. EOF 满分:2 分 得分:2B31. 已知各变量的类型说明如下: 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=2C. x%(一3)D. y=f1oat(i) 满分:2 分 得分:2A32. 若已有定义int x;下列说明指针变量p指向x的正确语句是( )A. int p=&x;B. int *p=&x;C. int p=x;D. int *p=x; 满分:2 分 得分:2B33. 下面正确的字符常量是( )A. "c"B. ""C. 'W'D. ''(中间没有空格) 满分:2 分 得分:2C34. main() struct date int year,month,day;today; printf("%dn",sizeof(struct date); 以上程序的运行结果是( )A. 6B. 8C. 10D. 12 满分:2 分 得分:2D35. 设以下变量均为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) 满分:2 分 得分:2C36. 当不能正确执行文件关闭操作时,fclose函数的返回值是( )。A. -1B. EOFC. TRUED. 1 满分:2 分 得分:2B37. 以下符合C语言语法的赋值表达式是( )A. d=9+e+f=d+9B. d=9+e,f=d+9C. d=9十e,e+,d十9D. d=9十e+=d十7 满分:2 分 得分:2B38. 下列关于数组的特征错误的是( )。A. 先定义后使用B. 可以有多维C. 定义数组长度时可以用常量或变量D. 可以作参数传递 满分:2 分 得分:2C39. 在 C 语言中,引用数组元素时,其数组下标的数据类型允许是( )。A. 整型常量B. 整型表达式C. 整型常量或整型表达式D. 任何类型的表达式 满分:2 分 得分:2C40. 下面不正确的字符串常量是( )。A. abc'B. "12'12"C. "0 "D. " " 满分:2 分 得分:2A1. 在Visual C中,整型数据在内存中占个字节。( )A. 错误B. 正确 满分:2 分 得分:2A2. 赋值表达式是错误的。( )A. 错误B. 正确 满分:2 分 得分:2A3. 被main函数调用的函数只能是库函数。( )A. 错误B. 正确 满分:2 分 得分:2A4. 在语言中,字母的大小写不被区分。( )A. 错误B. 正确 满分:2 分 得分:2A5. 字符常数和字符串常数的存储是相同的,都是以字符的码值进行存放。( )A. 错误B. 正确 满分:2 分 得分:2A6. 对整型常量可进行自加或自减运算,而对变量或表达式不可以。( )A. 错误B. 正确 满分:2 分 得分:2A7. 在Turbo C+中,存储字符串常数时所占内存空间是不固定。( )A. 错误B. 正确 满分:2 分 得分:2B8. 用语言可直接进行位运算和取地址等运算,因此语言是一种低级语言。( )A. 错误B. 正确 满分:2 分 得分:2A9. PI可作为标识符使用。( )A. 错误B. 正确 满分:2 分 得分:2B10. 字符型数据和整数之间是不可以通用的。( )A. 错误B. 正确 满分:2 分 得分:2A