




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章1、一个 C 程序可能出现的错误有( A)A, 以上都包括B, 逻辑错误C, 运行错误D, 语法错误2、C 程序中一般可以包含几个函数 (D)A. 1 个B. 多个C. 0个D. 至少一个3. C 语言属于程序设计语言的哪个类别 (B)A. 机器语言B. 高级语言C. 面向对象语言D. 汇编语言4. 以下关于 C语言描述错误的是 (B)A. 一个 C程序总是从 main 函数开始执行B. 一个 C程序可以包含多个 main 函数C. 每个语句的最后必须有一个分号D. C 语言的注释符是以 "/*" 开始并以 "*/" 结束5、在调试过程中,逻辑错误
2、是指 (C)A. 所书写的语句,不符合 C 的语法。B. 在从 obj 生成 exe 文件的过程中,如果函数名书写错误,可能产生的错C. 程序的运行结果不符合题目要求。D. 在 exe 文件的执行过程中,产生运行异常。第二章1、16 位的二进制数可以表示的整数的范围是 (C)A. -32768,32768B. -32767,32768C. -32768,32767D. -32767,327672、C 语言中的实型数据包括 (A)A. float 和 doubleB. int 和 floatC. float 和 charD. int 和 double3、以下不合法的字符常量是 (C)A.
3、9;2'B. 'A'C. 'ab'D. 'n' 4、在以下各组标识符中,均是合法的 C 语言标识符是 (A)A. abc,A_4d,_student,xyz_abcB. auto,12-a,a_b,ab5.xC. A_4d,_student,xyz_abc,ifD. abc,a_b,union,scan5、若有定义: chara;intb;floatc;doubled;则表达式 a*b+d-c 值的类型为 (A)A. charB. floatC. doubleD. int6、类型修饰符 unsigned不能修饰 (D)A. charB.
4、longintC. intD. float7、若有定义: doublex=1,y;执行语句,则 y 的值是 (B)A, 1B, 2.034 / 35C, 2D, 2.58、设 inta=1,b=2;以下选项中不正确的语句是 (B)A. a=a+bB. a*3=3C. a+=3D. a/=1(C)9、在 C 语言中,要求参加运算的数必须是整数的运算符是A. *B. /C. %D. +10、设有定义: inta=7;floatx=2.5,y=4.7; 则表达式的值是 (D)A, 3.5B, 2.75C, 0.0D, 2.5第三章1、执行以下程序后 k的值是( C) inti,j=10,k=0;fo
5、r(i=0;i<=j;i+)k=i+j;j-;A. 9B. 8C. 10D. 112、2、设 inta=1,b=2,c=3,d=4,m=2,n=2执; 行(m=a>b)&&(n=c>d)后 n 的值为 (C)A.3B. 1C. 2D. 03、表示 y 在(-,3和23,+)范围内为真的表达式为( A)A. (y<=3)|(y>=23)C.(y<3)|(y>23)C.(y<=3)&&(y>=23)D.(y<3)&&(y>23)4、设有以下程序,若要使程序的输出值为 2,则应该从键盘给
6、 n 输入的值 是( D)voidmain()ints=0,a=1,n;scanf("%d",&n);dos=s+1;a=a-2;while(a!=n); printf("%d",s);A. -5B. 0C. -1D. -35、对下面程序段,描述正确的是 (D) for(t=1;t<=100;t+)scanf("%d",&x);if(x<0)continue; printf("%d",x);A. 当 x>=0 时,什么也不输出B. printf 函数永远也不执行C. 当 x<
7、0 时,整个循环结束D.最多允许输出 100 个非负整数6、已知 intx=10,y=20,z=30; 则执行以下语句后 x、y、z 的值是( A) if(x>y)z=x;x=y;y=z;A. x=20,y=30,z=30B. x=20,y=30,z=10C. x=20,y=30,z=20D. x=10,y=20,z=307、设有声明语句: inta=1,b=0; 则执行以下语句后输出结果为( A)switch(a)case1:switch(b)case0:printf("*0*");break; case1:printf("*1*");break
8、;case2:printf("*2*");break;A.*0*2B. 有语法错误C. *0*1*2*D. *08、以下程序段的输出结果是( B)intx=5;if(x-<5)printf("%d",x);elseprintf("%d",x+);A. 6B. 4C. 5D. 39、算法描述可以有多种表达方法 ,下面( C)方法不可以描述算法A. 自然语言B. 伪代码C. 机器语言D. N-S图10、for(i=j=0;i<10&&j<8;i+,j+=3)控制的循环体执行的次数是( C) A.2B. 8
9、C. 3D. 9第四章1、包含标准库函数 scanf 声明的头文件是( B)A. stdlib.hB. stdio.hC. time.hD. math.h2、以下关于函数的叙述中正确的是( C)A. C语言程序将从源程序中第一个函数开始执行B. 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C. C语言规定必须用 main 作为主函数名,程序将从此开始执行,在此结束D. main 可作为用户标识符,用以定义任意一个函数3、以下正确的函数定义是( A)A. doublefun(intx,inty)doublez;z=x+y;returnz;B.doublefun(intx,in
10、ty)z=x+y;retur nz;C.fun(x,y)intx,y;doublez;z=x+y;returnz;D. fun(intx,y)intz;returnz;4、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是 (D)A.地址传递B. 由用户指定传递方式C. 由实参传给形参,再由形参传回实参D. 单向值传递5、以下正确的描述是( A)A. 函数的定义不可以嵌套 ,但函数的调用可以嵌套B. 函数的定义可以嵌套 ,但函数的调用不可以嵌套C. 函数的定义和函数的调用均可以嵌套D.函数的定义和函数的调用均不可嵌套6、以下关于函数的叙述中不正确的是( C)A. C程序是函数的集合
11、,包括标准库函数和用户自定义函数B. 在 C语言程序中,函数的定义不能嵌套C. 在 C语言程序中,被调用的函数必须在 main 函数中定义D. 在 C语言程序中,函数的调用可以嵌套7、下列程序的运行结果是( D)#include<stdio.h>voidfun();intmain()inta=10;fun();printf("",a);return0;voidfun()inta=20;printf("",a);A,2020B,1020C,1010D,20108、下列程序的运行结果是( D) #include<stdio.h>int
12、fun1(intx); voidfun2();intx=5; intmain() intx=1; x=fun1(x); printf("%d",x);return0;intfun1(intx)x+;fun2(); returnx;voidfun2()x+;A. 7B. 5C. 6D. 29、以下不正确的说法是( C)A. 在函数内定义的变量只在本函数范围内可以使用B. 形式参数是局部变量C. 在主函数内定义的变量可在其余函数中通用D. 在不同函数中可以使用相同名字的变量10、下列程序的运行结果是() #include<stdio.h> voidfun();int
13、a=5;intmain()inta=10;fun();printf("",a);return0;voidfun()a=a+5;printf("",a);A. 55B. 105C. 510D. 1010第五章1、利用冒泡排序得到升序排列,每一趟中从前到后遍历数组,将相邻两个 数作比较,如果前面的数小于后面的数,则 (C)。A. 将当前数据后移B. 交换两个数的位置C. 不做操作D. 将当前数据前移2、在定义 intm3=1,2,3,4,5,6;后,m10的值是( C)。A. 2B. 1C. 4D. 53、若给出以下定义 : charx="abcd
14、efg" chary='a','b','c','d','e','f','g' 则正确的叙述为( C)。A. 数组 x 和数组 y 等价B. 数组 x 和数组 y 的长度相同C. 数组 x 的长度大于数组 y 的长度D. 数组 x 的长度小于数组 y 的长度4、函数调用语句为: inta10,maxnum;maxnum=max(a); 函数定义首部应为( B)。A. doublemax(intb)B. intmax(intb)C. intmax(inta)D. intmax(
15、intb)5、若有定义: intb34=0 ;则下述正确的是( D)A. 没有元素可得初值 0B. 数组 b 中各元素可得初值但值不一定为 0C. 此定义语句不正确 .D. 数组 b 中各元素均为 06. C语言中,由固定数目的同类型的变量按一定顺序排列而构成的是A)。A. 数组B. 结构体C. 链表D. 队列7、冒泡排序中,若有 n 个数,第一趟最多需要比较( C)次。A. nB. 2(n-1)C. n-1D. 2n8. 当数据已知的情况下,可以在定义数组时,对数组进行初始化,但不可 A)。A. 在方括号中写入变量表达式B. 对数组元素赋同一初值C. 对部分元素赋初值D. 对全部元素赋初值9
16、、数组元素下标可从( 0)开始。A. 用户指定B. 1C. 任意自然数D. 010、若不允许函数修改数组元素,则可以用( A 缀,这样数组元素就成为函数中的常量。A. constB. fixC. defineD. include第六章1、在 16 位系统中,定义以下结构体类型structsinta;charb;floatf;则语句 printf("%d",sizeof(structs) 的输出结果为(限定符作为数组参数的前B)。A. 4B. 7C. 3D. 62、以下选项中不能正确把 cl 定义成结构体变量的是( B)A. structcolorintred;intgree
17、n;intblue;cl;B. structcolorclintred;intgreen;intblue;C. structintred;intgreen;intblue;c1;D. typedefstructintred;intgreen;intblue;COLOR;COLORcl;3、结构体变量整体作函数参数时,以下说法正确的是( D)。A. 以上说法都不对B. 结构体变量整体不能做形参C. 结构体变量整体不能做实参D. 实参结构体变量和形参结构体变量的类型应当一致4、已知字符 '0'的 ASCII码为十六进制的 30H,下面程序的输出是( D) voidmain()uni
18、onunsignedcharc;unsignedinti4;z;z.i0=0x39;z.i1=0x36;printf("%cn",z.c);A. 3B. 0C. 6D. 95、在下面的叙述中,不正确的是( A)。A. 枚举常量的值可以是整数或字符串B. 枚举变量只能取对应枚举类型的枚举常量表中的元素C. 可以在定义枚举类型时对枚举常量进行指定表示的值D. 枚举常量表中的元素有先后次序,可以进行比较 第七章1、程序编译后,对变量的访问时通过( B)来进行的A. 变量名B. 地址C. 文件D. 函数2、若 int*p4 ,则 p 的含义是( A)。A. 指针数组B. 指向一维分
19、数组的指针C. 整型变量D. 指向整型的指针3、请正确的填充语句: voidmain(intargc,charA. *argvB. argvC. argvD. *argv4、inta10,*p; 则让 p 指向数组的首地址的是( C)。A. *p=aB. p=a0C. p=&a0D. a=p5、inta35,*p;p=a0;则 p+后的值代表了( D)。A. 第二行的首地址B. 第一个元素的首地址C. 第一个元素的值D. 第一行第二个元素的首地址6、定义 p 为指向函数的指针变量,应该采用( D)方式A. int*p(int*x);B. intp(int*x);C. intp(intx
20、);D. int(*p)(intx);A ) )。(7、获取指针变量所指向的值,用的运算符是( B)。A. &B. *C. %D. !8、系统根据( B)为变量分配内存单元。A. 大小B. 类型C. 名称D. 数据9、程序编译后,对变量的访问时通过( D)来进行的A. 文件B. 函数C. 变量名D. 地址10、inta5=10,20,30,40,50,*p=a;printf("%dn",*p+1);结果是( C)。A. 10B. 20C. 11D. 21第八章1、将文件分为 ASCII码文件和二进制码文件两种,是从文件的( C)来区分的。A. 存盘方式B. 读写方式
21、C. 编码方式C)码D. 打开方式2、文本文件在磁盘存放时,每个字符对应一个字节,用来存放(A. 字符B. 数字C. ASCIID. 二进制3、文件操作流程中的最后一个步骤是( C)文件。A. 存储B. 读取C. 关闭D. 打开4、文件的变量类型名是( D)。A. fileB. intC. charD. FILE5、在 fopen 函数中, “ rb表”示为输入打开一个( A)文件A. 二进制B. 头文件C. 文本D. 目标文件 散乱的: 3、下列数据类型的精度由高到低的顺序是( B)A. float ,double,int,longB. double,float,int,charC. cha
22、r,long,double,floatD. double,long,float,int5、C 语言中符号常量定义的关键字是 (D)A. intB. constC. includeD. define6、表达式 3.6的值是( D)A, 4.3B, 4.8C, 3.3D, 3.87、以下选项中非法的表达式是( D)A. 0<=x<100B. i=j=0C. (char)(x<100)D. x+1=x+18、若变量 a为 int 类型,且其值为 3,则执行表达式 a+=a-=a*a后, a 的值 是( C) A.-3B. 9C. -12D. 69、有输入语句: scanf(&quo
23、t;a=%d,b=%d,c=%d",&a,&b,&c)为; 使变量 a 的值为 1, b 的值为 3,c的值 2,正确的数据输入方式是( D)A. 132B. 1,3,2C. a=1b=3c=2D. a=1,b=3,c=210、函数 putchar()可以向终端输出一个( B)A. 字符串B. 字符或字符型变量的值C. 整型变量的值 .D. 实型变量的值11、下列运算符中,优先级从高到低依次为( D)A. &&!|B. |&&!C. &&|!D. !&&|11、表达式 !x 等效于( B)A. x
24、=1B. x=0C. x!=1D. x!=013、以下程序的运行结果是( C)voidmain()inta=0,b=1,c=0,d=20;if(a)d=d-10;elseif(!b)if(!c)d=15;elsed=25;printf("%d",d);(2.5 分 )A. 15B. 25C. 20D. 1014、以下程序段的输出结果是( A)intx=1,a=0,b=0;switch(x)case0:b+;case1:a+;case2:a+;b+;printf("a=%d,b=%dn",a,b);A. a=2,b=1B. a=1,b=1C. a=1,b=
25、0D. a=2,b=215、设有如下程序,则程序的输出结果是( B)intk=1,s=0;while(s<10)s=s+k*k;k+;printf("%d",k);A. 3B. 4C. 5D. 616、以下程序段的输出结果是( C) intk,n;for(k=1;k<=5;k+)n=k*k; if(n<10)continue; elseprintf("%d",n);A. 149B. 1491625C. 1625D. 因循环终止,没有任何输出结果17、以下正确的函数原型声明是( C)A. doublefun(intx,inty)B. do
26、ublefun(intx;inty)C. doublefun(intx,inty);D. doublefun(intx,y)18、下列程序的输出结果是( C) intfun(inta,intb,intc)c=a*b;returnc;intmain()intc=5; c=fun(2,3,c); printf( “n%”d,c);return0;A. 0B. 1C. 6D. 519、以下不正确的说法是, C 语言规定( B)A. 实参可以是常量、变量或表达式B. 形参可以是常量、变量或表达式C. 实参可以是任意类型D. 实参应与其对应的形参类型一致22、下列程序的运行结果是( C) #includ
27、e<stdio.h> voidfun(intx);intmain()fun(7); printf(""); return0; voidfun(intx) if(x/2>1) fun(x/2); printf("-",x);A. 35B. 27C. 37.D. 2523、以下数组定义中,( D)是错误的A. inta7;B. #defineN5 longbN;C. charc5;D. intn,dn;24、执行下面程序,输出结果是( B) #include<stdio.h>voidmain()inti,j=3,a=1,2,3,
28、4,5,6,7,8,9,10; for(i=0;i<5;i+)ai=i*(i+1);for(i=0;i<4;i+)j+=ai*3;printf("%d",j);A. 33B. 63C. 123D. 4825、 执行下面程序,输出结果是( C) #include<stdio.h> voidmain() inti,j,k=0,a33=1,2,3,4,5,6;for(i=0;i<3;i+)for(j=0;i<3;j+)k+=aij;printf("%d",k);A. 21B. 19C. 17D. 1826、执行下面程序,输出
29、结果是 (B)#include<stdio.h>voidmain()inti,a10=0,1,2,3,4,5,6,7,8,9;for(i=1;i<9;i+)ai=ai-1+ai+1;printf("%d%d",a5,a7);A. 1014B. 2035C. 812D. 274427、设有 charstr="Shanghai"则执行 printf("%dn",strlen(strcpy(str,"Shanxi"); 后的输出结果为( C)A. 14B. ShanghaiShanxiC. 6D. Sh
30、anxi28、若有定义和语句: chars10= ” abcd ” ;printfn(” ,s则“); 结%果s 是(以下 u 代表空格)( A)A. 输出 abcdB. 输出 aC. 输出 abcduuuuuuD. 编译不通过29、当定义一个结构体变量时,系统为它分配的内存空间是( D)A. 结构体中一个成员所需的内存容量B. 结构体中第一个成员所需的内存容量C. 结构体中占内存容量最大者所需的容量D. 结构体中各成员所需内存容量之和30、根据下面的定义,能打印出字母 P 的语句是( C)structpersoncharname9;intage;structpersonclasses10=&
31、quot;John",17,"Paul",19,"Mary",18,16;A. printf("%cn",);B. printf("%cn",1);C. printf("%cn",0);D. printf("%cn",1);31、设有以下语句 typedefstructSintg; charh;T; 则下面叙述中正确的是( B)A. 可以用 S 定义结构体变量B. 可以用 T 定义结构体变量 .C. S是 struct 类型的变量D. T 是 structS类型的变量32、有以下程序: #includeunionpw inti;"Adam"charch2;a; voidmain() a.ch0=13;a.ch1=0; printf("%dn",a.i); 程序的输出结果是(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 村河堤护路地承包合同(2篇)
- 果园承包合同样本(2025年)
- 2025合同转让合同涉及的法律问题有哪些
- 重庆市名校联盟2024-2025学年高二下学期4月第一次联合考试政治试卷(含答案)
- 职业技术学院2024年化妆品技术专业人才培养方案
- 2025试用员工合同协议书范本劳动合同
- 2025分包工程施工合同范本
- 2025财产保险代理合同模板参考:量身定制您的保险代理协议
- 2025年一级建造师之一建铁路工程实务每日一练试卷B卷含答案
- 肛管癌的临床护理
- 生成式人工智能技术知识产权归属
- 水泥罐车岗位安全操作规程(4篇)
- 医疗设备采购与评估方法
- 2024年上海古诗文大会小学试题库(含答案)
- 生态环境数字化治理的杭州创新与经验
- 社会调查委托合同三篇
- 癫痫性精神病的护理查房
- 建筑起重信号司索工试题库(附答案)
- 中小学校保安服务方案(技术方案)
- 六上 Unit 1 Part A 课件人教版六年级英语
- 苏教版高中数学必修第一册第1章1.1第2课时集合的表示【授课课件】
评论
0/150
提交评论