C语言考试试题基础版

上传人:飞*** 文档编号:47401121 上传时间:2018-07-01 格式:PDF 页数:21 大小:141.72KB
返回 下载 相关 举报
C语言考试试题基础版_第1页
第1页 / 共21页
C语言考试试题基础版_第2页
第2页 / 共21页
C语言考试试题基础版_第3页
第3页 / 共21页
C语言考试试题基础版_第4页
第4页 / 共21页
C语言考试试题基础版_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《C语言考试试题基础版》由会员分享,可在线阅读,更多相关《C语言考试试题基础版(21页珍藏版)》请在金锄头文库上搜索。

1、一、选择题1.在每个 C 程序中都必须包含有这样一个函数,该函数的函数名为。A. main B. MAIN C. name D. function 2.在以下关于 C 语言的注释的叙述中,不正确的是。A注释可用 “/*“ 、“*/“ 形式表示,也可用 “/“ 形式表示B编译器在编译一个程序时,将跳过注释,不对其进行处理C编译器在编译一个程序时,可发现注释中的单词拼写错误D程序中注释的多少不会影响所生成的可执行文件的长度3.以下叙述不正确的是。A在 C 程序中,严格区分大小写字母B一个 C 源程序有且仅有一个main 函数C在 C 程序中,注释只能位于一条语句的后面D一个 C 程序总是从 mai

2、n 函数开始执行4.下列合法的标识符为A.abde+ B. #KDJF C. 67KDJ D. DK3_ 5.关于字符串和字符的关系正确的是A.“A”与? A? 是相同的B.字符串是常量,字符是变量C.“A”与? A? 是不同的D.“A ”与“ A”是相同的6.下面关于语句的说法正确的是A.下面这两段程序的执行效果是一致的B.空语句是只有一个分号的语句,它其实什么也不干C.语句的构成不一定需要分号D.语句的书写对程序的运行不起作用,因此可以随便写都可以7.以下各标识符中,合法的用户标识符组为。A.PAd,P#d,b-b,abc,_0123,ssiped B.cin,a10,CPP,float,

3、del_word,signed C.void,max,hiy,list,*jer if (xy) z=x; s=z*z; else z=y;s=1/(z*z);if (xy) z=x; s=z*z; else z=y;s=1/(z*z);D.a,temp,_isw,INT,keep,wind 8.字符串“ ”E” ”的长度是。A 8B 9 C 12 D 非法字符串9.数学式xsin在 C 程序中对应的不正确的表达式为。Asqrt(sin(x)0?sin(x):-sin(x) Bsqrt(fabs(sinx) Csqrt(sqrt(sinx*sinx) Dfabs(sqrt(sin(x)10.

4、下列是 C 语言的有效标识符 ? A_No1 BNo.1 C12345 Dint11. C 语言中,表示一条语句结束的标号是A# B; C/ D 12. 每个 C 程序中都必须有且仅有一个A类B预处理命令C主函数D语句13. 下列数据类型不是C 语言基本数据类型的是。A字符型B整型C实型D数组14. 下列字符列中,可作为C 语言程序自定义标识符是。Aswitch Bfile Cbreak Ddo 15. 运算符 +、b?“a大于 b“:“a 小于 b“; printf(“%sn“, s1); A. a 大于 b B. a 小于 b C. 1 D. 输出语句有错24. int k=10; whi

5、le(k=0) k=k-1; 则下面描述正确的是。A. while 循环执行 10 次B. 循环是无限循环C. 循环体语句一次也不执行D. 循环体语句执行一次25.int a=1,b=2,c=2,t; while(a=0 时什么也不输出C. cout 永远也不执行D. 最多允许输出 100 个非负整数34. 定义一个函数实现交换x 和 y 的值,并将结果正确返回。能够实现此功能的是。A. swap(int x, int y) int t; t=x; x=y; y=t; B. swap(int *x, int *y) int t; t=x; x=y; y=t; C. swap(int *x, i

6、nt *y) int t; t= *x; *x = *y; *y=t; D. swap(int *x, int *y) int *t; t=x; x=y; y=t; 35. 若有代数式 3ae/bc,则不正确的 C 语言表达式是。A. a/b/c*e*3 B. 3*a*e/b/c C. 3*a*e/b*c D. a*e/c/b*3 36.以下表达式值为3 的是。A. 16-13%10 B. 2+3/2 C. 14/3-2 D. (2+6)/(12-9) 37. 设有说明语句, int k=7, x=12;则以下能使值为3 的表达式是。A. x%=(k%=5) B. x%=(k-k%5) C.

7、x%= k-k%5 D. (x%=k)-(k%=5) 38. 若有条件表达式 (exp)? A+: b-,则以下表达式中能完全等价于表达式(exp)的是。A. (exp= =0) B. (exp!=0) C. (exp= =1) D. (exp!=1) 39. 设有以下语句:typedef struct REC char c; int a4; REC1; 则下面叙述中正确的是。A可以用 REC 定义结构体变量BREC1 是 struct REC类型的变量CREC是 struct类型的变量D可以用 REC1 定义结构体变量40. 下列关于结构的语法错误的是A结构是由用户自定义的一种数据类型B结构

8、中可设定若干个不同数据类型的成员C结构中成员的数据类型可以是另一个已定义的结构D在定义结构时,可以为成员设置默认值41. 以下关于结构体的叙述中,错误的是。A结构体是一种可由用户构造的数据类型B结构体中的成员可以具有不同的数据类型C结构体中的成员不可以与结构体变量同名D结构体中的成员可以是指向自身结构的指针类型42. 说明一个结构体变量时,系统分配给它的内存是。A各成员所需内存量的总和B结构中第一个成员所需内存量C成员中占内存量最大者所需的容量D结构中最后一个成员所需内存量43. 设有以下说明语句:struct stu int a; float b; stutype; 则下面的叙述不正确的是。

9、Astruct 是结构体类型的关键字Bstruct stu是用户定义的结构体类型名Cstutype是用户定义的结构体类型名Da 和 b 都是结构体成员名44. 若有如下定义struct data int x,y; test1=10,20, test2; 则以下赋值语句中错误的是。A. test2=test1; B. test2.x=test1.x; C. test2.x=test1.y D. test2=30,40; 45. 以下对结构体变量stu1中成员 age的非法引用是。struct student int age; int num; stu1,*p; p= A. stu1.age B.

10、 student.age C. p-age D. (*p).age 46. 当说明一个共用体变量时,系统分配给它的内存是。A. 各成员所需内存量的总合B结构中第一个成员所需内存量C成员中占内存量最大者所需的容量D结构中最后一个成员所需内存量47. 以下对 C 语言中共用体类型数据的叙述正确的是。A可以对共用体变量名直接赋值B一个共用体变量中可以同时存放其所有成员C一个共用体变量中不能同时存放其所有成员D共用体类型定义中不能出现结构体类型的成员48. 若有以下定义和语句:union data int i; char c; float f; a; int n; 则以下语句正确的是。Aa=5; B.

11、 a=2,? a? ,1.2 C. printf(“ %dn” ,a); D. n=1; 49. 设有以下说明,则下面不正确的叙述是。union int i; char c; float f; un; A. un 所占的内存长度等于成员f 的长度Bun 的地址和它的成员地址都是同一地址Cun可以作为函数参数D不能对 un 赋值,但可以在定义un 时对它初始化50. C 语言共用体类型变量在程序运行期间A所有成员一直驻留在内存中B只有一个成员驻留在内存中C部分成员驻留在内存中D没有成员驻留在内存中51. 使用 typedef定义一个新类型的正确步骤是。A (2) 、 (4) 、 (1) 、 (3

12、)B. (1) 、 (3) 、 (2) 、 (4)C (2) 、 (1) 、 (4) 、 (3)D. (4) 、 (2) 、 (3) 、 (1)(1) 把变量名换成新类型名(2) 按定义变量的方法写出定义体(3) 用新类型名定义变量(4) 在最前面加上关键则typedef 52. 下面对 typedef的叙述中不正确的是。A用 typedef可以定义各种类型名,但不能用来定义变量B用 typedef可以增加新类型C用 typedef只是将已存在的类型用一个新的标识符来代表D使用 typedef 有利于程序的通用和移植53. 下面试图为 double说明一个新类型名real的语句中,正确定是。A

13、typedef real double; B. typedef double real; C. typedef real=double; D. typedef double=real; 54. 下面能正确进行字符串赋值操作的是。A. char s5= “ ABCDE ” ; B. char s5=,A? , ,B? , ,C?, ,D? , ,E?; C. char *s; s=“ ABCDE ” ; D. char *s; scanf(“ %s” ,s); 55. 下面程序段的运行结果是。char *s=” abcde ” ; s+=2; printf(“ %d” ,s); A. cde B

14、. 字符 c C. 字符 c 的地址D. 无确定的输出结果56. 下面程序段的运行结果是。char str =” ABC” , *p=str; printf(“ %dn” , *(p+3); A. 67 B. 0 C. 字符 C 的地址D.字符 C 57. 下面程序段的运行结果是。char a =” language ” , *p; p=a; while(*p!= ?u?)printf( “ %c” ,*p-32); p+; A. LANGUAGE B. language C. LANG D. langUAGE 58. 有如下说明语句,则以下不正确的叙述是。char a =” It is mi

15、ne” ; char *p=” It is mine”;A. a+1 表示的是字符 t 所在存储单元的地址Bp 指向另外的字符串时,字符串的长度不受限制Cp变量中存放的地址值可以改变Da中只能存放 10 个字符答案:1A 2C 3C 4D 5C 6B 7D 8A 9B 10A 11B 12C 13D 14B 15C 16B 17A 18D 19A 20C 21D 22B 23A 24C 25D 26C 27C 28C 29A 30D 31B 32B 33D 34C 35C 36B 37. D 38. B 39. D 40. D 41. C 42. A 43. C 44. D 45. B 46.C 47.C 48.B 49.C 50.B 51.C 52. B 53. B 54.C 55.C 56. B 57. C 58. D 二、填空题1.程序的三种基本的控制结构是:、。2.C 语言中的每条基本语句以作为结束符,每条复合语句以作为结束符。3.关系表达式 x+y5 的相反表达式为。4.下面的程序段中循环体的执行次数是。a=10;b=0; dob+=2;a-=2+b; while(a=0); 5.下面程序段的运行结果为。x=2; doprintf(“*“); x-; while(!x=0); 6.已知 int

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号