第一章测试
1
【单选题】(2分) C语言是一种()。
A.
汇编语言
B.
高级语言
C.
机器语言
D.
低级语言
2
【单选题】(2分) C语言程序总是从()。
A.
源代码的第一条可执行语句
B.
源代码的第一个函数
C.
主函数
D.
源代码的第一行
3
【单选题】(2分)
C语言程序是由()构成。
A.
若干过程
B.
若干对象
C.
若干子程序
D.
一个主函数和若干函数
4
【单选题】(2分)
在C语言程序中,主函数的位置()。
A.
一定放在所有代码最后
B.
一定放在所有代码最前面
C.
一定放在所有代码中间
D.
可以放在代码的任何位置
5
【单选题】(2分) 以下叙述正确的是()。
A.
C语言程序一行只能写一条语句
B.
C语言程序不区分大小写
C.
C语言程序每个语句结束都要写分号
D.
C语言程序每行结束都要写分号
6
【单选题】(2分)
要把高级语言编写的源程序转换为目标程序,需要使用()。
A.
诊断程序
B.
驱动程序
C.
编辑程序
D.
编译程序
7
【单选题】(2分)
若有说明语句:inta,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是()。
A.
scanf(\"%d%d%d\
B.
scanf(\"%d%d%d\
C.
scanf(\"%d%d%d\
D.
scanf(\"%d%d%d\
8
【单选题】(2分)
以下选项中合法的用户标识符是()。
A.
_2Test
B.
3Dmax
C.
long
D.
dat
9
【单选题】(2分) 下列说法中正确的是()。
A.
C程序书写时,一个语句可分成几行书写
B.
C程序书写时,一行只能写一个语句
C.
C程序书写时,不区分大小写字母
D.
C程序书写时每行必须有行号
10
【单选题】(2分)
英文小写字母d的ASCII码为100,英文大写字母D的ASCII码为()。
A.
52
B.
66
C.
50
D.
68
第二章测试
1
【单选题】(2分) C语言中的注释()。
A.
其他情况
B.
有的运行有的不运行
C.
运行
D.
不运行
2
【单选题】(2分)
设变量定义为“inta,b;”,执行下列语句时,输入(),则a和b的值都是10。 scanf(\"a=%d,b=%d\;
A.
a=10,b=10
B.
a=10b=10
C.
1010
D.
10,10
3
【单选题】(2分)
()是不正确的字符常量。
A.
’’
B.
’n’
C.
”a”
D.
’1’
4
【单选题】(2分)
若变量已正确定义并赋值,表达式()。
A.
2,b
B.
a/b/c
C.
3.14%2
D.
a*b/c
5
【单选题】(2分)
()是合法的用户自定义标示符。
A.
_isw
B.
C. b-b D. float 6 【单选题】(2分) ()是C语言提供的合法的数据类型关键字。 A. Float B. integer C. Char D. signed 7 【单选题】(2分) 在C语言中,要求参加运算的数必须时整数的运算符是()。 A. % B. / C. = D. * 8 【单选题】(2分) 与代数式(x*y)/(u*v)不等价的C语言表达式是()。 A. x*y/u*v B. x*y/u/v C. x/(u*v)*y D. x*y/(u*v) 9 【单选题】(2分) 对于charcx=' 9';语句,正确的是()。 A. cx的值为四个字符 B. 不合法 C. cx的ASCII值是33 D. cx的值为三个字符 10 【单选题】(2分) 若intk=7,x=12;则能使值为3的表达式是()。 A. x%=k-k%5 B. x%=(k%=5) C. (x%=k)-(k%=5) D. x%=(k-k%5) 第三章测试 1 【单选题】(2分) 若变量已正确定义,表达式()的值不是2。 A. a=2 B. 5%3 C. 7/3 D. 1<1+1 2 【单选题】(2分) 在C程序中,用()表示逻辑值“真”。 A. 非1的数 B. 大于1的数 C. 0 D. 非0的数 3 【单选题】(2分) 下面程序的正确输出结果是()。 main() { inta=2,b=-1,c=2; if(aprintf(“%d”,c); } A. 0 B. 3 C. 2 D. 1 4 【单选题】(2分) 下面程序的正确输出结果是()。 main() { inta=1,b=3,c=5,d=4,x; if(aprintf(“%d”,x); } A. 0 B. 2 C. 6 D. 3 5 【单选题】(2分) 下面程序的正确输出结果是()。 main() { intx=1,y=0,a=0,b=0; switch(x) { case1:switch(y) { case0:a++;break; case1:b++;break; } case2:a++;b++;break; case3:a++;b++; } printf(“%d%d\\n”,a,b); } A. 21 B. 22 C. 11 D. 10 6 【单选题】(2分) 能正确表示\"当x的值在[1,10]和[200,210]范围内为真,否则为假\"的是()。 A. (x>=1)&&(x<=10)||(x>=200)&&(x<=210) B. (x>=1)||(x<=10)&&(x>=200)||(x<=210) C. (x>=1)||(x<=10)||(x>=200)||(x<=210) D. (x>=1)&&(x<=10)&&(x>=200)||(x<=210) 7 【单选题】(2分) 判断char型变量ch是否为大写字母的正确表达式是()。 A. (ch>='A')&&(ch<='Z') B. (ch>='A')&(ch<='Z') C. 'A'<=ch<='Z' D. ('A'<=ch)AND('Z'>=ch) 8 【单选题】(2分) 请阅读以下程序: main(){ inta=5,b=0,c=0; if(a=b+c)printf(\"***\"); elseprintf(\"$$$\"); } 以上程序()。 A. 可以通过编译但不能通过连接 B. 有语法不能通过编译 C. 输出*** D. 输出$$$ 9 【单选题】(2分) 阅读以下程序,程序运行后,如果从键盘上输 人5,则输出结果是()。 main(){ intx;scanf(\"%d\",&x); if(x--<5)printf(\"%d\",x); elseprintf(\"%d\",x++); } A. 4 B. 3 C. 6 D. 5 10 【单选题】(2分) 若执行以下程序时从键盘上输入9,则输出结果是() A. 8 B. 9 C. 10 D. 11 第四章测试 1 【单选题】(2分) 下列for循环语句书写格式中,的是() A. for(i=9;i<20;i++){......} B. i=9;for(;i>=1;){i--;} C. for(i=9;i>1;i--);{......} D. i=9;for(;i<20;i++){......} 2 【单选题】(2分) 程序执行后输出的结果是: voidmain() { inti; for(i=1;i<20;i=i+2) printf(\"%d\ } A. 135791113151719 B. 2461012141618 C. 123456710111213141516171819 D. 12345671011121314151617181920 3 【单选题】(2分) 求0+5+10+15+...+55的结果,下列循环语句中条件设置正确的是() A. inta=0,s=0;do{s=s+a;a=a+5;}while(a<=55); B. inta,s=0;for(a=0;a<55;a=a+5){s=s+a;} C. inta,s=1;for(a=0;a<=55;a++){s=s+a;} D. inta=1,s=0;while(a<55){s=s+a;a++;} 4 【单选题】(2分) 关于循环嵌套的描述,的是() A. 外层循环每走一步,内层循环走一圈 B. 循环次数=外层循环次数*内层循环次数 C. 走得慢的循环放在外层,走得快的放内层 D. 内层循环每走一步,外层循环走一圈 5 【单选题】(2分) 关于break语句和continue语句的使用结果,正确的是() A. inta=1;while(a<10){while(a>6){continue;}printf(\"%d\执行结果是1234567 B. inta=1;for(;a<10;a++){if(a%3==0)continue;printf(\"%d\执行结果是124578 C. inta=1;for(;a<10;a++){if(a%3==0)break;printf(\"%d\执行结果是123 D. inta=1;while(a<10){while(a>6){break;}printf(\"%d\执行结果是123456 6 【单选题】(2分) 以下程序的输出结果是() main(){ intx=10,y=10,i; for(i=0;x>8;y=++i) printf(\"%d,%d\ } A. 10,19,2 B. 10,109,1 C. 10,99,0 D. 9,87,6 7 【单选题】(2分) 以下程序的输出结果是() main(){intn=4; while(n--)printf(\"%d\ A. 31 B. 321 C. 210 D. 20 8 【单选题】(2分) 以下程序的输出结果是() main(){ inti; for(i=1;i<6;i++){ if(i%2){printf(\"#\");continue;} printf(\"*\"); } } A. ##### B. #*#*# C. *#*#* D. ***** 9 【单选题】(2分) 以下循环体的执行次数是() main(){ inti,j; for(i=0,j=1;i<=j+1;i+=2,j--) printf(\"%d\ } A. 3 B. 2 C. 0 D. 1 10 【单选题】(2分) 以下程序段的执行结果是() inta,y;a=10;y=0; do{ a+=2;y+=a; printf(\"a=%dy=%d\ if(y>20)break; }while(a=14); A. a=12y=12a=14y=26 B. a=12y=12 a=14y=16 a=16y=20 C. a=12y=12a=14y=44 D. a=12y=12 a=16y=28 a=18y=24 第五章测试 1 【单选题】(2分) C语言引用数组元素时,其数组下标的数据类型允许是()。 A. 整型表达式 B. 整型常量 C. 整型常量或整型表达式 D. 任何类型的表达式 2 【单选题】(2分) 下面正确的定义语句是()。 A. doubley[][3]=0; B. longb[2][3]={{1},{1,2},{1,2,3}} C. inta[3]={1,2,3,4,5}; D. floatx[3][2]={{1},{2},{3}} 3 【单选题】(2分) inta[10];则对a数组元素的正确引用是()。 A. a[3.5] B. a(5) C. a[10] D. a[10-10] 4 【单选题】(2分) 下面的程序有,发生在()。 main() { floata[3]={3*0}; inti; for(i=0;i<3;i++) scanf(“%d”,&a[i]); for(i=1;i<3;i++) a[0]=a[0]+a[i]; printf(“%d”,a[0]); } A. 第三行 B. 没有 C. 第五行 D. 第七行 5 【单选题】(2分) 若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为()。 A. j*m+i B. i*m+j-1 C. i*m+j+1 D. i*m+j 6 【单选题】(2分) inta[4]={5,3,8,9};其中a[3]的值为()。 A. 9 B. 5 C. 3 D. 8 7 【单选题】(2分) 以下4个字符串函数中,()所在的头文件与其他3个不同。 A. strcpy B. strcmp C. strlen D. gets 8 【单选题】(2分) 对字符数组进行初始化,()形式是。 A. charc3[]={'1','2','3',''}; B. charc4[]=\"123\"; C. charc1[]={'1','2','3'}; D. charc2[]=123; 9 【单选题】(2分) 若有以下说明,则数值为4的表达式是()。 inta[12]={1,2,3,4,5,6,7,8,9,10,11,12}; charc=’a’,d,g; A. a['d'-'c'] B. a['d'-c] C. a[4] D. a[g-c] 10 【单选题】(2分) 下列定义的字符数组中,输出printf(\"%s\的输出是()。 staticstr[3][20]={\"basic\ A. windows B. 输出语句出错 C. basic D. foxpro 第六章测试 1 【单选题】(2分) 下列程序的输出结果是()。 fun(inta,intb,intc) {c=a*b;} voidmain() { intc; fun(2,3,c); printf(”%d”,c); } A. 6 B. 无法确定 C. 1 D. 0 2 【单选题】(2分) C语言中,函数返回值的类型是由()。 A. return语句中的表达式类型所决定 B. 在定义该函数时所指定的函数类型所决定 C. 调用该函数时的主调函数类型所决定 D. 调用该函数是系统决定 3 【单选题】(2分) 以下不正确的说法是()。 A. 如果形参和实参的类型不一致,以形参类型为准 B. 实参和形参的个数要一致 C. 形参可以是常量、变量或表达式 D. 实参可以是常量、变量或表达式 4 【单选题】(2分) 以下正确的说法是()。 A. 函数的定义和调用都不可以嵌套 B. 函数的定义和调用都可以嵌套 C. 函数的定义可以嵌套,函数的调用不可以嵌套 D. 函数的定义不可以嵌套,函数的调用可以嵌套 5 【单选题】(2分) 以下正确的函数定义是()。 A. doublefun(intx,y) {intz;returnz;} B. doublefun(intx,inty) {doublez;returnz;} C. doublefun(intx,inty) {z=x+y;returnz;} D. fun(x,y) {intx,y;doublez; z=x+y;returnz;} 6 【单选题】(2分) 以下关于函数的叙述中不正确的是()。 A. 在C语言程序中,被调用的函数必须在main函数中定义 B. 在C语言程序中,函数的定义不能嵌套 C. 在C语言程序中,函数的调用可以嵌套 D. C程序是函数的集合,包括标准库函数和用户自定义函数 7 【单选题】(2分) 在一个C程序中,()。 A. main函数必须出现在所有函数之后 B. main函数可以在任何地方出现 C. main函数必须出现在固定位置 D. main函数必须出现在所有函数之前 8 【单选题】(2分) 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是()。 A. int B. long C. double D. float 9 【单选题】(2分) C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是()。 A. 参数的形实结合 B. 函数返回值 C. 同名的局部变量 D. 全局变量 10 【单选题】(2分) 定义一个void型函数意味着调用该函数时,函数()。 A. 没有返回值 B. 返回一个不确定的值 C. 返回一个系统默认值 D. 通过return返回一个用户所希望的函数值 第七章测试 1 【单选题】(2分) 若需要建立如图所示的存储结构,且已有说明double*p,x=0.2345;则正确的赋值语句是()。 A. *p=x; B. *p=&x; C. p=x; D. p=&x; 2 【单选题】(2分) 若有说明语句:inta,b,c,*d;c=100;d=&c;则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是()。 A. scanf(\"%d,%d,%d\ B. scanf(\"%d,%d,%d\ C. scanf(\"%d,%d,%d\ D. scanf(\"%d,%d,%d\ 3 【单选题】(2分) 下面代码 #include A. a的地址 B. 无确定值 C. 512 D. 511 4 【单选题】(2分) 下面程序段的运行结果是()。 char*s=\"abcde\"; s+=2; printf(\"%d\ A. cde B. 字符'c' C. 字符'c'的地址 D. 无确定的输出结果 5 【单选题】(2分) 下列程序的输出结果是()。 #include\"stdio.h\" voidmain() { inta[]={1,2,3,4,5,6,7,8,9,0},*p; p=a; printf(\"%d\} A. 1 B. 3 C. 9 D. 0 6 【单选题】(2分) 若有说明:inta=2,*p=&a,*q=p;,则以下非法的赋值语句是()。 A. a=*q; B. q=a; C. *p=*q; D. p=q; 7 【单选题】(2分) 变量的指针,其含义是指该变量的()。 A. 一个标志 B. 地址 C. 名 D. 值 8 【单选题】(2分) 若有语句int*p,a=10;p=&a;下面均代表地址的一组选项是()。 A. &*a,&a,*p B. a,p,*&a C. &a,&*p,p D. *&p,*p,&a 9 【单选题】(2分) 有如下语句:intm=6,n=9,*p,*q;p=&m;q=&n;如图1所示,若要实现下图所示的存储结构,可选用的赋值语句是()。 A. p=*q; B. p=q; C. *p=q; D. *p=*q; 10 【单选题】(2分) 以下程序中调用scanf函数给变量a输入数值的方法是的,其原因是()。 #include { int*p,*q,a,b; p=&a; printf(\"inputa:\"); scanf(\"%d\",*p); … } A. *p只能用来说明p是一个指针变量 B. *p表示的是变量a的值,而不是变量a的地址 C. *p表示的是指针变量p的地址 D. *p表示的是指针变量p的值 第八章测试 1 【单选题】(2分) 根据下面的定义,能输出Mary的语句是()。 structperson{ charname[9];intage;}; structpersonclass[5]={\"John\ A. printf(\"%s\ B. printf(\"%s\ C. printf(\"%s\ D. printf(\"%s\ 2 【单选题】(2分) 定义以下结构体数组 structc {intx; inty; }s[2]={1,3,2,7}; 语句printf(\"%d\的输出结果为() A. 14 B. 21 C. 2 D. 6 3 【单选题】(2分) 下面程序的运行结果是()。 structKeyWord{ charKey[20];intID; }kw[]={\"void\ printf(\"%c,%d\ A. i,3 B. f,4 C. l,4 D. n,3 4 【单选题】(2分) 若有如下声明: uniondata{char*p;intn;}; 以下初始化正确的是()。 A. uniondataa={\"Mary\ B. uniondataa=10; C. uniondataa={10}; D. uniondataa=\"Mary\"; 5 【单选题】(2分) 以下对枚举类型名的定义中正确的是() A. enums{′a′,′b′,′c′} B. enums={a,b,c} C. enums{a=9,b=2,c} D. enums={′a′,′b′,′c′} 6 【单选题】(2分) 设有以下说明语句 structex {intx; floaty; charz; }example; 则下面的叙述中不正确的是() A. x,y,z都是结构体成员名 B. struct是结构体类型的关键字 C. structex是结构体类型 D. example是结构体类型名 7 【单选题】(2分) 已知字符0的ASCII码为十六进制的30,下面程序的输出是()。 main() {union{unsignedcharc; unsignedinti[4]; }z; z.i[0]=0x39; z.i[1]=0x36; printf(\"%c\ A. 9 B. 0 C. 6 D. 3 8 【单选题】(2分) 有以下程序: #include {inti;charch[2];}a; main() {a.ch[0]=13;a.ch[1]=0;printf(\"%d\ 程序的输出结果是()。(注意:ch[0]在低字节,ch[1]在高字节。) A. 13 B. 208 C. 14 D. 209 9 【单选题】(2分) 枚举类型中的每个枚举常量的值都是一个( )。 A. 整数 B. 逻辑值 C. 浮点数 D. 字符 10 【单选题】(2分) 设有如下枚举类型定义 enumlanguage{Basic=3,Assembly=6,Ada=100,COBOL,Fortran}; 枚举量Fortran的值为()。 A. 4 B. 103 C. 7 D. 102 第九章测试 1 【单选题】(2分) 程序流程图中带有箭头的线段表示的是()。 A. 图元关系 B. 控制流 C. 数据流 D. 调用关系 2 【单选题】(2分) 以下叙述中正确的是()。 A. 算法必须要有输入和输出 B. 算法可以没有输入但必须要有输出 C. 算法可以既没有输入又没有输出 D. 算法可以没有输出但必须要有输入 3 【单选题】(2分) 算法是指()。 A. 数字的加工步骤 B. 为解决一个问题而采取的方法和步骤 C. 运算的方法 D. 计算的方法 4 【单选题】(2分) 以下不属于表示算法的方法是()。 A. 用A-S方法表示算法 B. 用计算机语言表示算法 C. 用自然语言表示算法 D. 用伪代码表示算法 5 【单选题】(2分) 算法的特点不包括()。 A. 确定性 B. 有效性 C. 简易性 D. 有穷性 6 【单选题】(2分) 描述或表示算法有多种方法,()不是常用的表示方法。 A. 伪代码 B. 效果图 C. 自然语句 D. 流程图或N-S图 7 【单选题】(2分) 一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中的是()。 A. 有穷性 B. 有零个或多个输出 C. 有零个或多个输入 D. 可行性 8 【单选题】(2分) 算法分析的目的是()。 A. 研究算法中的输入和输出的关系 B. 找出数据结构的合理性 C. 分析算法的易懂性和文档性 D. 分析算法的效率以求改进 9 【单选题】(2分) 下面叙述正确的是() A. 算法的空间复杂度是指算法程序中指令(或语句)的条数 B. 算法的执行效率与数据的存储结构无关 C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止 D. 其余选项描述都不对 10 【单选题】(2分) 求1至20之间所有偶数和的算法描述如下 ①将1赋值给变量i; ②判断i是否能被2整除,若是,将该数累加到变量sum中; ③将变量i加1,若i还小于或等于20,转②; ④输出sum的值; ⑤结束。 该算法采用的描述方法属于()。 A. 计算机语言 B. 流程图 C. 伪代码 D. 自然语言 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务