




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一单元 程序设计和语言一、选择题1C语言的根本构成单位是: A 。A. 函数 B. 函数和过程 C. 超文本过程 D. 子程序2一个C语言程序总是从 B 开始执行。A. 主过程 B. 主函数 C. 子程序 D.主程序 3C语言的程序一行写不下时,可以 。A. 用逗号换行 B. 用分号换行 C. 在任意一空格处换行 D. 用回车符换行4以下表达不正确的选项是: C 。A. 在C程序中,语句之间必须要用分号""分隔B. 假设a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数C. 在C程序中,无论是整数还是实数都能正确无误地表示D. 在C程序中,%是只能用于整
2、数运算的运算符5以下不正确的C语言标识符是 D 。A. ABC B. abc C. a_bc D. ab.c6以下字符串是标识符的是: A 。A. _HJ B. 9_student C. long D. LINE 17以下说法中正确的选项是: C 。A. C语言程序总是从第一个定义的函数开始执行B. 在C语言程序中,要调用的函数必须放在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始局部8不合法的常量是: D 。A. 2 B. " " C. 3 D. 4839各变量的类型说明如下,那么以下不符合C语言
3、语法的表达式是: A 。int k,a,b;unsigned long w=5;double x=1.422;A. x%(-3) B. w+=-2 C. k=(a=2,b=3,a+b) D. a+=a=+(b=4)*(a=3)10在C语言中,字符型数据在内存中以 D 形式存放。A. 原码 B. BCD码 C. 反码 D. ASCII码11假设有定义:int a=7; float x=2.5; y=4.7;那么表达式x+a%3*(int)(x+y)%2/4的值是: A 。A. 2.500000 B. 2.750000 C. 3.500000 D. 0.00000012设有说明:char w; i
4、nt x; float y; double z;那么表达式w*x+z-y值的数据类型为: D 。A. float B. char C. int D. double13以下 BC 是不正确的转义字符。A. '' B. '' C. '081' D. '0'14假设x为int型变量,那么执行以下语句后,x的值为 B 。x=6; x+=x-=x*x;A. 36 B. -60 C. 60 D. -2415字符串""ABC""的长度是 B 。A. 11 B. 7 C. 5 D. 3二、填空题1一个函数由
5、两局部组成,它们是 和 。2一个C源程序至少包含一个 ,即 。3设int a=12; 那么表达式a/=a+a的值是 。4表达式x=(a=3,6*a)和表达式x=a=3,6*a分别是 表达式和 表达式,两个表达式执行完的结果分别是 和 ,x值分别是 和 。5在C语言中,实数有两种表示形式,即 和 。6在C语言中,运算符的优先级最小的是 运算符。7在C语言中,变量在使用前应先 , 再 。 第一单元 程序设计和C语言一、选择题1. A 2. B 3. C 4. C 5. D 6. A 7. C 8. D 9. A 10. D 11. A12. D 13. BC 14. B 15. B二、填空1函数首
6、部、函数体2主函数、main函数304赋值、逗号、18、18、18、35浮点型、指数型6赋值7定义,使用第二单元 顺序程序设计一、选择题1假设m为float型变量,那么执行以下语句后的输出为 C 。m=1234.123;printf("%-8.3fn",m);printf("%10.3fn",m);A. 1234.123 B. 1234.123 C. 1234.123 D. -1234.1231234.123 1234.123 1234.123 001234.1232假设x,y,z均为int型变量,那么执行以下语句后的输出为 A 。x=(y=(z=10)
7、+5)-5;printf("x=%d,y=%d,z=%dn",x,y,z);y=(z=x=0,x+10);printf("x=%d,y=%d,z=%dn",x,y,z);A. X=10,Y=15,Z=10 B. X=10,Y=10,Z=10X=0,Y=10,Z=0 X=0,Y=10,Z=10C. X=10,Y=15,Z=10 D. X=10,Y=10,Z=10X=10,Y=10,Z=0 X=0,Y=10,Z=03假设x是int型变量,y是float型变量,所用的scanf调用语句格式为:scanf("x=%d,y=%f",&x
8、,&y);那么为了将数据10和66.6分别赋给x和y,正确的输入应是: A 。A. x=10,y=66.6<回车> B. 10 66.6<回车>C. 10<回车>66.6<回车> D. x=10<回车>y=66.6<回车>4有变量定义:int a;char c;用scanf(“%d%c,&a,&c);语句给a和c输入数据,使30存入a,字符b存入c,那么正确的输入是: D 。A. 30b<回车> B. 30 b<回车>C. 30<回车>b<回车> D.
9、 30b<回车>5有变量定义:double x;long a; 要给a和x输入数据,正确的输入语句是 。假设要输出a和x的值,正确的输出C。A. scanf(“%d%f,&a,&x); B. scanf(“%ld%f,&a,&x);printf(“%d,%f,a,x); printf(“%ld,%f,a,x); C. scanf(“%ld%lf,&a,&x); D. scanf(“%ld%lf,&a,&x);printf(“%ld,%lf,a,x); printf(“%ld,%f,a,x);6假设有定义double x
10、=1,y;那么以下的语句执行的结果是 C 。y=x+3/2; printf(“%f,y); A.2.500000 B.2.5 C.2.000000 D.2 7假设a为整型变量,那么以下语句 C 。a=-2L; printf("%dn",a);A. 赋值不合法 B. 输出为不确定的值 C. 输出值为-2 D. 输出值为2二、读程序写结果1 main() int x,y;scanf("%2d%*2d%ld",&x,&y);printf("%dn",x+y);执行时输入:12345672 main() int x=4,y=0
11、,z;x*=3+2; printf("%d",x);x*=y=z=4; printf("%d",x);3 main() float x; int i;x=3.6; i=(int)x;printf("x=%f,i=%d",x,i);4 main() int a=2;a%=4-1; printf("%d, ",a);a+=a*=a-=a*=3; printf("%d",a);5 main() int x=02,y=3;printf("x=%d,y=%d",x,y);6 main(
12、) char c1=6,c2=0;printf("%c,%c,%d,%dn",c1,c2,c1-c2,c1+c2);7 main() int x,y,z;x=y=1; z=+x-1;printf("%d,%dn",x,z);z+=y+;printf("%d,%dn",y,z);三、填空题1在C语言中,字符型数据和整型数据之间可以通用,一个字符数据既能以 输出,也能以 输出。2"%-ms"表示如果串长小于m,那么在m列范围内,字符串向 靠, 补空格。3printf函数的“格式控制包括两局部,它们是 和 。4函数的递归
13、调用是指 。函数的返回值通过函数中的 语句获得。5Break语句只能用于 语句和 语句中。6Strlen(“hello)= 。7第二单元 顺序程序设计一、选择题1.CA A D C CC二、读程序写结果117220803X=3.600000,i=342,05X=2,y=%d66,0,6,10272,12,2三、填空1字符 整数2左 右3格式说明 普通字符4在函数中直接或间接的调用自己 , return5Switch , 循环65第三单元 分支程序设计一、选择题1假设x=0,y=3,z=3,以下表达式值为0的是 。A. !x B.x<y? 1:0 C. x%2&&y=z D
14、. y=x|z/32以下运算符中优先级最低的运算符为 ,优先级最高的为 。A. && B. ! C. != D. | E. ?: F. =3假设w=1,x=2,y=3,z=4,那么条件表达式w<x?w:y<z?y:z的结果为 。A. 4 B. 3 C. 2 D. 14假设w,x,z均为int型变量,那么执行以下语句后的输出为 。w=3;z=7;x=10;printf("%dn",x>10?x+100:x-10);printf("%dn",w+|z+);printf("%dn",!w>z);pri
15、ntf("%dn",w&&z);A. 0 B. 1 C. 0 D. 01 1 1 1 1 1 0 0 1 1 1 05分析以下程序, 以下说法正确的选项是 。main() int x=5,a=0,b=0;if(x=a+b) printf("* * * *n");else printf("# # # #n");A. 有语法错,不能通过编译 B. 通过编译,但不能连接C. 输出* * * * D. 输出# # # #6分析以下程序, 以下说法正确的选项是 。main() int x=5,a=0,b=3;if(x=a+b)
16、printf("* * * *n");else printf("# # # #n");A. 有语法错,不能通过编译 B. 通过编译,但不能连接C. 输出* * * * D. 输出# # # #7分析以下程序, 以下说法正确的选项是 。main() int x=0,a=0,b=0;if(x=a+b) printf("* * * *n");else printf("# # # #n");A. 有语法错,不能通过编译 B. 通过编译,但不能连接C. 输出* * * * D. 输出# # # #8分析以下程序, 以下说法正
17、确的选项是 。main() int x=0,a=0,b=0;if(x=a+b) printf("* * * *n");else printf("# # # #n");A. 有语法错,不能通过编译 B. 通过编译,但不能连接C. 输出* * * * D. 输出# # # #二、读程序写结果1 include <stdio.h>main() int a=-1,b=4,k;k=(a+<=0)&&(!(b-<=0);printf("%d,%d,%dn",k,a,b);2 main() int x=4,y
18、=0,z;x*=3+2; printf("%d",x);x*=(y=(z=4); printf("%d",x);3 main() int x,y,z;x=3; y=z=4;printf("%d",(x>=z>=x)?1:0);printf("%d",z>=y && y>=x);4 main() int x=1,y=1,z=10;if(z<0)if(y>0) x=3;else x=5;printf("%dt",x);if(z=y<0) x=
19、3;else if(y=0) x=5;else x=7;printf("%dt",x);printf("%dt",z);5 main() char x=B;switch(x) case A: printf(“It is A.);case B: printf(“It is B.);case C: printf(“It is C.);default: printf(“other.);6 main() int x=1,y=0,a=0,b=0;switch(x) case 1: switch(y) case 0: a+;break;case 1: b+;brea
20、k;case 2: a+;b+;break;case 3: a+;b+;printf("a=%d,b=%dn",a,b);第三单元 分支程序设计一、 选择题1. C、EB、D、C 、D 、C、D、C二、 读程序写结果1 1,0,32 2003 014 1 7 05 It is B. It is C.other.6 a=2,b=1第四单元 循环程序设计一、选择题1程序段如下:那么以下说法中正确的选项是: 。int k=5;dok-;while(k<=0);A. 循环执行5次 B. 循环是无限循环C. 循环体语句一次也不执行 D. 循环体语句执行一次2设i和x都是int类
21、型,那么for循环语句 。for(i=0,x=0;i<=9&&x!=876;i+) scanf("%d",&x);A. 最多执行10次 B. 最多执行9次C. 是无限循环 D. 循环体一次也不执行3下述for循环语句 。int i,k;for(i=0,k=-1;k=1;i+,k+) printf("* * * *");A. 判断循环结束的条件非法 B. 是无限循环C. 只循环一次 D. 一次也不循环4程序段如下:那么以下说法中正确的选项是: 。int k=-20;while(k=0) k=k+1;A. while循环执行20
22、次 B. 循环是无限循环C. 循环体语句一次也不执行 D. 循环体语句执行一次5以下程序段执行后k值为 。int k=0,i,j;for(i=0;i<5;i+)for(j=0;j<3;j+)k=k+1 ;A. 15 B. 3 C. 5 D. 86程序段如下:那么以下说法中不正确的选项是: 。#include <stdio.h>main()int k=2,;while(k<7) if(k%2) k=k+3; printf(“k=%dn,k);continue;k=k+1;printf(“k=%dn,k);A. k=k+3;执行一次 B. k=k+1;执行2次C. 执
23、行后k值为7 D. 循环体只执行一次二、读程序写结果1main() int num=0;while(num<=2) num+; printf("%dn",num);2main() int i=0,s=0;do s+=i*2+1; printf("i=%d,s=%dn",i,s); i+;while(s<10);3 #include <stdio.h>main() int i,m=1;for(i=5;i>=1;i-)m=(m+1)*2;printf("m=%dn",m);4指出下面三个程序的功能,当输入为:
24、"quert?"时,它们的执行结果是什么? #include <stdio.h>main() char c;c=getchar();while (c!='?') putchar(c); c=getchar(); #include <stdio.h>main() char c;while (c=getchar()!='?') putchar(+c); #include <stdio.h>main() while (putchar(getchar()!='?'); 5.main() printf
25、(“%dn,sub(6);sub(int n) if(n= =1 | n= =2) return 1;else return sub(n-1) + sub(n-2); 第四单元 循环程序设计一、 选择题1 D 2 A . 3 B . 4 C5 A6 D二、 读程序写结果1 1 2 32 i=0,s=1 i=1,s=4 i=2,s=9 i=3,s=163 m=4 m=10 m=22 m=46 m=944 (1) quert (2) rvfsu (3) quert?5. 8第五单元 数 组一、选择题1以下关于数组的描述正确的选项是 。A. 数组的大小是固定的,但可以有不同的类型的数组元素。B. 数
26、组的大小是可变的,但所有数组元素的类型必须相同。C. 数组的大小是固定的,但所有数组元素的类型必须相同。D. 数组的大小是可变的,但可以有不同的类型的数组元素。2在定义int a10;之后,对a的引用正确的选项是 。A. a10 B. a6.3 C. a(6) D. a10-103以下能正确定义数组并正确赋初值的语句是 。A. int n=5,bnn; B. int a12=1,3;C. int c2=1,2,3,4 D. int a32=1,2,3,44以下不能正确赋值的是 。A. char s110;s1="test" B. char s2=t,e,s,tC. char
27、 s320= "test" D. char s44= t,e,s,t5下面程序段运行时输出结果是 。char s18= "a book! "printf("%.4s",s);A. a book! B. a book! C. a bo D. 格式描述不正确,没有确定输出6下面程序段运行时输出结果是 。char s12= "A book"printf("%dn",strlen(s);A. 12 B. 8 C. 7 D. 67在执行int a3=1,2,3,4,5,6;语句后,a10的值是 。A. 4
28、 B. 1 C. 2 D. 5. 8.合法的数组定义是( )A) int a=string; B) int a5=0,1,2,3,4,5; C) char a=string; D) char a=0,1,2,3,4,5;二、读程序写结果1#include <stdio.h>void main()int a8=1,0,1,0,1,0,1,0,i;for(i=2;i<8;i+)ai+= ai-1 + ai-2;for(i=0;i<8;i+)printf(“%5d,ai);2#include <stdio.h>void main()float b6=1.1,2.2
29、,3.3,4.4,5.5,6.6,t;int i;t=b0;for(i=0;i<5;i+)bi=bi+1;b5=t;for(i=0;i<6;i+)printf(“%6.2f,bi); 3#include <stdio.h>void main() int p7=11,13,14,15,16,17,18,i=0,k=0;while(i<7 && pi%2) k=k+pi; i+;printf("k=%dn",k);4 void main() int a33=1,3,5,7,9,11,13,15,17;int sum=0,i,j;fo
30、r (i=0;i<3;i+)for (j=0;j<3;j+) aij=i+j;if (i=j) sum=sum+aij;printf("sum=%d",sum); 5void main() int a44,i,j,k;for (i=0;i<4;i+)for (j=0;j<4;j+)aij=i-j;for (i=0;i<4;i+) for (j=0;j<=i;j+)printf("%4d",aij);printf("n"); 6 #include <stdio.h>main() int i
31、,s;char s1100,s2100;printf("input string1:n"); gets(s1);printf("input string2:n"); gets(s2);i=0;while (s1i=s2i)&&(s1i!='0')i+;if (s1i='0')&&(s2i='0') s=0;else s=s1i-s2i;printf("%dn",s);输入数据 aidand7void main()char ch35= "AAAA&
32、quot;,"BBB","CC"printf(""%s"n",ch1); 8#inlcude <stdio.h>#include <string.h>void main() char str1080,c80;int i;for(i=0;i<10;i+)gets(stri);strcpy(c,str0);for(i=1;i<10;i+)if(strlen(c)<strlen(stri)strcpy(c,stri);puts(c);9.以下程序的执行结果是 main() int
33、 x=1,y=2,z=3;x+=y+=z;printf("%d",(x<y?x+:y+);第五单元 数组一、选择题1. C 2. D 3. D 4. A 5. C 6. D 7. A 8.B二、读程序写结果1 1 0 2 2 5 7 13 202 2.20 3.30 4.40 5.50 6.60 1.103k=244sum=65 01 02 1 03 2 1 06-57“BBB8没有输入数据95第六单元 函 数一、选择题1在C语言中,当函数调用时 。A. 实参和形参各占一个独立的存储单元B. 实参和形参共用存储单元C. 可以由用户指定实参和形参是否共用存储单元D. 由
34、系统自动确定实参和形参是否共用存储单元2以下函数调用语句中实参的个数为 。exce(v1,v2),(v3,v4,v5),v6);A. 3 B. 4 C. 5 D. 63如果在一个函数的复合语句中定义了一个变量,那么该变量 。A. 只在该符合语句中有效,在该符合语句外无效B. 在该函数中任何位置都有效C. 在本程序的原文件范围内均有效D. 此定义方法错误,其变量为非法变量4C语言允许函数值类型缺省定义,此时该函数值隐含的类型是 。A. float型 B. int型 C. long型 D. double型5C语言规定,函数返回值的类型是由 。A. return语句中的表达式类型所决定B. 调用该函
35、数时的主调函数类型所决定C. 调用该函数时系统临时决定D. 在定义该函数时所指定的函数类型决定6在C语言程序中,以下描述正确的选项是 。A. 函数的定义可以嵌套,但函数的调用不可以嵌套B. 函数的定义不可以嵌套,但函数的调用可以嵌套C. 函数的定义和函数的调用均不可以嵌套D. 函数的定义和函数的调用均可以嵌套7以下表达中正确的选项是 。A. 全局变量的作用域一定比局部变量的作用域范围大B. 静态(static)类别变量的生存期贯穿于整个程序的运行期间C. 函数的形参都属于全局变量D. 未在定义语句中赋初值的auto变量和static变量的初值都是随机值8. 以下程序的运行结果是:#includ
36、e<stdio_h>void sub(int s,int y) static int t=3;y=st;t-;main() int a=1,2,3,4,i,x=0;for(i=0;i<4;i+)sub(a,x);printf(d,x);printf(n);A)1234 B)432l C)0000 D)44449. 以下程序的运行结果是:main() int w=5;fun(w);printf(n);fun(int k) if(k>O) fun(k-1);printf( %d,k);A)5 4 3 2 l B)0 1 2 3 4 5 C)1 2 3 4 5 D)5 4 3
37、 2 1 010. 以下所列的各函数首部中,正确的选项是_。A)void play(vat a:Integer,var b:Integer) B)void play(int a,b)C)void play(int a,int b) D)Sub play(a as integer,b as integer)11. 当调用函数时,实参是一个数组名,那么向函数传送的是_。A)数组的长度 B)数组的首地址C)数组每一个元素的地址 D)数组每个元素中的值12. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_。A)地址传递 B)单向值传递C)由实参传给形,再由形参传回实参 D)传递方
38、式由用户指定13. 以下函数值的类型是_。fun(float x) float y;y=3*x-4;return y;A)int B)不确定 C)void D)float二、读程序写结果1fun1(int a,int b) int c;a+=a; b+=b; c=fun2(a,b);return c*c;fun2(int a,int b) int c;c=a*b%3;return c;main() int x=11,y=19;printf("The final result is:%dn",fun1(x,y);2int x;main() x=5;cude();printf("%dn",x);cude() x=x*x*x; 3#include <stdio.h>long fun(int n)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 系统流程优化协议
- 退休设备维护人员合同
- 电子书设计服务协议
- 知识产权离职转让协议
- 全屋定制设计柜子解析
- 2025年中级会计职称之中级会计实务通关考试题库带答案解析
- 幼儿园小班教学活动设计课件
- 小学三年级音乐教师个人工作计划
- 公路养护机械设备计划
- 航空业安全生产工作计划
- “人工智能+”山区学校校本课程开发(丽水学院)知道智慧树章节答案
- 中医体重管理
- 高血压危象课件
- 民航行业智能化民航运输与服务方案
- 新版加油站全员安全生产责任制
- 工程机械智能化安全系统
- 广东省广州三校2023-2024学年高二下学期期末考试+物理试卷(含答案)
- 猎聘-2024高校毕业生就业数据报告
- 火龙罐综合灸技术
- 驾驶员安全驾驶培训课件
- 员工劳务合同书
评论
0/150
提交评论