C语言程序设计期末考试复习题及复习资料
- 格式:doc
- 大小:30.00 KB
- 文档页数:8
《C语言程序设计》(高起专)》1.一下列关于C语言的叙述错误的是( )。
A) 变量sum和变量SUM代表相同的变量B) 不同类型的变量可以出现在一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D) 同一个运算符号在不同的场合可以有不同的含义2.一个C程序的执行是从( )。
A) main函数开始,直到main函数结束B) 第一个函数开始,直到最后一个函数结束C) 第一个语句开始,直到最后一个语句结束D) main函数开始,直到最后一个函数结束3.一个C语言程序是由( )。
A)一个主程序和若干子程序组成B)若干子程序组成C) 一个或若干个函数组成D) 若干过程组成4.下列可用于C语言变量名的是( )。
A) int B) a2 C) M.D.John D) 2a5.以下不正确的语句(设有int p,q)是( )。
A)p+=3; B) p=p/q;C) p=3; D) p/q=q;6.C语言中对嵌套if语句的规定是:else总是与( )配对。
A)第一个if B) 缩进位置相同的ifC) 其之前最近的if D) 其之前最近且不带else的if7.以下说法正确的是( )。
A) 输入项可以为一个实型常量,如scanf("%f",3.5);B) 只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");C) 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f);D) 当输入数据时,必须指明变量的地址,如scanf("%f",&f);8.若有代数式3ae/(bc),则不正确的C语言表达式是( )。
A) a/b/c*e*3 B) 3*a*e/b/cC) 3*a*e/b*c D) a*e/c/b*39.下列程序的输出结果是( )。
C语言程序设计期末复习
一、基础知识
1、变量和运算符
变量就是程序中用来保存信息的抽象容器,可以用来记录用户输入、
程序执行时间以及中间结果等信息
C语言允许使用者定义变量,分为基本类型变量和指针变量。
其中基本类型变量有:整型int,浮点型float,字符型char,双精
度型double,无符号整型unsigned等。
运算符是对变量进行运算的符号,C语言中的运算符大致可分为三大类:算术运算符,关系运算符和逻辑运算符。
其中算术运算符包括:+、-、*、/和%;关系运算符包括:>、>=、<、<=、==和!=;
逻辑运算符包括:&&,和。
2、流程控制
程序的流程控制是应用程序中最重要的结构,在C语言中可以通过控
制语句来控制程序的执行流程。
常用的控制语句有:if、goto、while、for、switch-case等。
if语句可以根据执行条件跳过执行部分语句,节省程序执行的时间。
goto语句可以跳转到指定的语句,实现循环执行流程。
while语句可以不固定有多少次操作,根据执行条件决定是否继续执行。
for语句可以更精确的表示循环次数,避免无意识的多次循环操作,从而提高程序运行效率。
switch-case语句可以根据变量的变化值,执行不同的操作,实现复杂的逻辑判断。
3、函数。
2020年电大本科C语言程序设计A期末考试试题及答案2020年电大本科C语言程序设计A期末考试试题及答案| 本科《C语言程序设计A》复习资料一、单选题1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。
A. mainB. MAINC. nameD. function 2.每个C语言程序文件的编译错误分为(B)类。
A. 1B. 2C. 3D. 4 3. 字符串“a+b=12\n“的长度为(B)。
A. 6B. 7C. 8D. 9 4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为(D)语句。
A. forB. whileC. doD. if 5. 在下面的do-while循环语句中,其循环体语句被执行的次数为(C)。
int i=0; do i++; while(i A. 8 B. 9 C. 10 D. 11 6. 将两个字符串连接起来组成一个字符串时,选用的字符串函数为(C)。
A. strlen()B. strcpy()C. strcat()D. strcmp() 7. 若用数组名作为函数调用的实参,传递给形参的是(A)。
A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a的地址比a数组的首地址大(C)个字节。
A. 4B. 8C. 16D. 32 9. 假定s被定义为指针类型char *的变量,初始指向的字符串为“Hello world!“,若要使变量p指向s所指向的字符串,则p应定义为(A)。
A. char *p=s;B. char *p=C. char *p;p=*s;D. char *p; p= 10. 从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。
A. gets()B. fgets()C. getc()D. fgetc() 11.程序运行中需要从键盘上输入多于一个数据时,各数据之间默认使用(D)符号作为分隔符。
吉林师范成人教育期末考试试卷《C语言程序设计》A卷年级专业姓名分数一、选择题(每题1分共10分)1. 一个C语言程序是由。
A)一个主程序和若干个子程序组成 B)若干函数组成C)若干过程组成 D)若干子程序组成2. 不是整数。
下面不正确的字符串常量是。
A)'abc' B)"12'12" C)"0" D)" "3. 下面四个选项中,均是合法的浮点数的选项是。
A)+1e+1 B)-.60 C)123e D)-e35e-9.4 12e-4 1.2e-.4 .8e-403e2 -8e5 +2e-1 5.e-04. 以下正确的叙述是。
A)在C程序中,每行只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符5. 根据定义和数据的输入方式,输入语句的正确形式为。
已有定义:float f1,f2;数据的输入方式:4.523.5A)scanf("%f,%f",&f1,&f2); B)scanf("%f%f",&f1,&f2);C)scanf("%3.2f %2.1f",&f1,&f2); D)scanf("%3.2f%2.1f",&f1,&f2);6. 下面四个选项中,均是正确的数值常量或字符常量的选项是。
A)0.0 B)"a" C)'3' D)+0010f 3.9e-2.5 011 0xabcd8.9e 1e1 0xFF00 2e2'&' '\"' 0a 50.7. 若x、i、j和k都是int型变量,则计算下面表达式后,x的值为。
C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是 ( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,正确的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 函数必须有参数答案:C3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 下列关于数组的描述中,错误的是?A. 数组可以是多维的B. 数组的下标从0开始C. 数组的大小在编译时确定D. 数组可以动态分配答案:D5. C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. void答案:C6. 在C语言中,以下哪个关键字用于定义一个静态变量?A. staticB. externC. registerD. auto答案:A7. 下列关于C语言中文件操作的描述中,正确的是?A. 文件操作只能使用标准库函数B. 文件指针必须使用FILE类型C. 文件操作必须使用fclose函数关闭文件D. 文件操作不能使用缓冲区答案:B8. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. typedefC. enumD. struct答案:A9. 下列关于C语言中位运算的描述中,错误的是?A. & 表示按位与B. | 表示按位或C. ^ 表示按位异或D. ~ 表示按位取反答案:B10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的内存空间通常是______个字节。
答案:42. C语言中,使用______关键字可以定义一个无限循环。
答案:while3. C语言中,数组的元素默认初始化为______。
《C语言程序设计》期末复习题一、选择题1.能将高级语言编写的源程序转换成目标程序的是()A.程序 B. 解释程序 C. 编译程序 D.编辑程序2.设a为整型变量,则不能正确表达数学关系10<a<15的C语言表达式是()。
A. 10<a<15B. a==11||a==12||a==13||a==14C. a>10&&a<15D.!(a<=10)&&!(a>=15)3.当调用函数时,实参是一个数组名,则向函数传送的是( )。
A. 数组的长度B. 数组的首地址C. 数组每一个元素的地址D. 数组每个元素中的值4.执行下面的程序段后,k的值是()int k=1,n=325;do { k*=n%10;n/=10;}while(n);A. 3B. 30C. 523D. 3255.若有以下数组说明,则i=6;a[a[i]]元素数值是()。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};A.3B.8C.6D.56.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是()A. for(i=1,p=1;i<=5;i++) p*=i;B. for(i=1;i<=5;i++){ p=1; p*=i;}C. i=1;p=1;while(i<=5){p*=i; i++;}D. i=1;p=1;do{p*=i; i++; }while(i<=5);7.若有:int a[][3]={{1,2,3},{4,5},{6,7},{8}}; 则数组a的第一维的大小为: ( ) A. 12 B. 3 C. 4 D.无确定值8.设有如下程序段,则执行p=s;语句后,以下叙述正确的是( )。
char s[20]= “Bejing”,*p;p=s;A.可以用*p表示s[0]B.s数组中元素的个数和p所指字符串长度相等C.s和p都是指针变量D.数组s中的容和指针变量p中的容相等9.以下正确的函数定义是( )。
《C语言程序设计》期末考试试卷以及答案提示(共五篇)第一篇:《C语言程序设计》期末考试试卷以及答案提示一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是 B。
A、C语言简洁、紧凑B、能够编制出功能复杂的程序(任何程序都可以,不算特点)C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是 DA、ABCB、abcC、a_bcD、ab.c(只能是字母,下划线,数字;另外数字不可开头)3、一个C语言程序是由B。
A、一个主程序和若干子程序组成B、函数组成 C、若干过程组成 D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是 B A、有零个或多个输入B、有零个或多个输出(有一个或多个输出)C、有穷性D、可行性5、设变数a是整型,f是实型,i是双精度型,则表达式10+…a‟+i*f值的数据类型为 C A、int B、float C、double D、不确定(低类型要转换为高类型)6、在C语言中,char型数据在内存中的存储形式是 D。
A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是B。
#include main(){ int x;float y;scanf(“%3d%f”,&x,&y);} A、12345 B、123 C、45 D、345(由scanf语句可知取三位数值给X)8、若有以下定义int a,b;float x,则正确的赋值语句是B。
A、a=1,b=2(少了分号)B、b++;C、a=b=5(句末少了分号)D、b=int(x);(右侧要是确切的值)9、以下程序的执行结果是A。
#include { int i=10,j=10;printf(“%d,%dn”,++i,j--);} A、11,10 B、9,10 C、11,9D、10,9(i是先加一再使用,j是先使用再减一)10、巳知字母A的ASCII码是65,以下程序的执行结果是D。
大学《C语言程序设计》期末考试试卷及参考答案《C语言程序设计》期末考试试卷参考答案一、判断题(10分)1、对2、对3、错4、错5、对6、错7、错8、错9、错10、错二、填空题(30分,,1到10题1分1空,10到18题2分1空)1.2.5 2. a!=0&&b!=0 3. m=1b 4. windows 95 5. x[i]>='A'&&x[i]<='Z' 6.234567 7.文件的首纪录前8、struct tree *Ltree,*Rtree 9. i<=10010. char a[10]="continue"; 11. p*pow(1+r,5) 12. 'D' 13. 10、514.#define utol(ch) ch=ch>='A'&& ch<='Z' ? ch+'a'-'A':ch15.首行第i+1个元素的地址,第i+1行的首地址,a[0][0]的值16.p=(int*)mallo(n);17. (-b+sqrt(b*b-4*a*c))/2/a 18. float(*fg)(float **,int,int);三、单项选择题(在每小题的四个备选答案中选出一个正确的,10分))1、A2、B3、C4、B5、D6、A7、A8、B9、C 10、A四、程序阅读题(20分,每题4分)1、 A C E G2、 x=3 y=23、the two string are same:fthe two string are same:r4、 K=85、1《C语言程序设计》期末考试试卷及参考答案一、判断题(10分)1、C语言是一种结构化程序设计语言。
()2、在标准C中,整型变量与字符变量是可以通用的。
()3、在标准C中,“=”是判断两个数是否相等。
C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
文案大全C 语言程序设计期末考试卷及答案一、单项选择题。
从A 、B 、C 、D 四个选项中,选择一个最佳答案填入括号内( 每小题1分,共计30分)。
1.一个C 语言程序的执行是从( )。
A )本程序文件的第一个函数开始,到本程序文件的最后一个函数结束B )本程序的main 函数开始,到main 函数结束C )本程序的main 函数开始,到本程序文件的最后一个函数结束D )本程序文件的第一个函数开始,到本程序的main 函数结束2.下列选项中不属于...C 语言关键字的是( )。
A )switch B )printf C )default D )case3.设有语句 int a = 4; ,则执行了语句 a += a -= a * a; 后,变量a 的值是( )。
A )24B ) -24C )4D )164.已知int i;float d;,则正确的表达式是( )。
A )(int d)B )int(d)%iC )(int)d%iD )int(d%i)5.已知int i,a;,执行语句i=(a=3*9,a/5),a+11; 后,变量i 的值是( )。
A )5B )16C )27D )386.下列选项中合法的字符型常量是( )。
A )"a"B )'\n'C )"\n"D )a7.下面程序的运行结果是( )。
#include <stdio.h> void main( ){ int k = 15;printf("k = %d,k = %o,k = %x\n",k,k,k); }A )k = 15,k = 15,k = 15B )k = 15,k = 17,k = 17C )k = 15,k = 017,k = 0xfD )k = 15,k = 17,k = f8.已知a,b,c 为int 类型,执行语句:scanf ("%d%d%d",&a,&b,&c );使得a 为10,b 为20,c 为30,以下不正确...的输入形式是( )。
C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC classD char答案:C解析:在 C 语言中,class 不是关键字,int、float 和 char 都是常见的数据类型关键字。
2、以下变量定义中,正确的是()A int a=b=5;B char a='A';C float a=55, b=66;D double a; b;答案:C解析:A 选项中不能在定义时连续赋值;B 选项应该是 char a ='A';注意单引号;D 选项应该是 double a, b; 中间用逗号分隔。
3、以下程序段的输出结果是()```cint a = 5, b = 4, c = 6;if (a > b && a > c)printf("a 最大\n");else if (b > a && b > c)printf("b 最大\n");elseprintf("c 最大\n");```A a 最大B b 最大C c 最大D 编译错误答案:C解析:因为 5 不大于 6,所以执行 else 部分,输出“c 最大”。
4、以下循环语句执行的次数是()```cfor (int i = 0; i < 5; i++){printf("%d ", i);}```A 4 次B 5 次C 6 次D 无限次答案:B解析:从 0 到 4 ,一共 5 次。
5、以下数组定义中,正确的是()A int a5 ={1, 2, 3, 4, 5, 6};B int a ={1, 2, 3};C int a5 ={1, 2};D int a3 =(1, 2, 3);答案:B解析:A 选项数组长度为 5,却初始化了 6 个元素;C 选项只初始化了前两个元素,后面三个元素默认为 0;D 选项初始化方式错误,应该用花括号。
c语言程序设计(复习资料)总共50题共100分一、单选题(共20题,共40分)1. 假定一个二维数组的定义语句为“int a[3][4]={{3,4,{2,8,6;”,则元素a[2][1]的值为()。
(2分)A.0B.4C.6D.8★标准答案:A2. 以下说法中正确的是()。
(2分)A.C++程序总是从第一个定义的函数开始执行B.C++程序总是从main函数开始执行C.C++函数必须有返回值,否则不能使用函数D.C++程序中有调用关系的所有函数必须放在同一个程序文件中★标准答案:B3. 在下面循环语句中循环体执行的次数为()。
int i=0,s=0; while(s<20) {i++; s+=i; (2分)A.4B.5C.6D.7★标准答案:C4. 虚函数的定义是在基类中进行的,定义时需要冠以关键字(2分)A.staticB.frendC.virtualD.public★标准答案:C5. 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择()。
(2分)A.内联函数B.重载函数C.递归函数D.函数模板★标准答案:A6. 设x和y均为bool量,则x || y为假的条件是( )。
(2分)A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假★标准答案:C7. 若数组名作实参而指针变量作形参,函数调用时实参传给形参的是(2分)A.数组的长度B.数组第一个元素的值C.数组所有元素的值D.数组第一个元素的地址★标准答案:D8. 字符串”a+b=12\n”的长度为()。
(2分)A.6B.7C.8D.9★标准答案:C9. 程序中主函数的名字为()。
(2分)A.mainB.MAINC.MainD.任意标识符★标准答案:A10. 假定下列x和y均为int型变量,则不正确的赋值为()。
(2分)A.x+=y++B.x++=y++C.x=++yD.++x=++y★标准答案:B11. do语句能够改写为()语句。
C语言程序设计复习资料C语言程序设计复习资料一、选择题(常识概念)1.已知函数fread的调用形式为fread(buffer,size,count,fp),其中buffer 代表的是( B )。
A 存放读入数据项的存储区B 存放读入数据的地址或指向此地址的指针C 一个指向所读文件的文件指针D 一个整形变量,代表要读入的数据项总数2.以下程序的输出结果为( C )。
void main( ){int i=010, j=10;printf("%d, %d\n", i++, j--);}A 11, 9B 9, 10C 8, 10D 9, 93、下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是( D )A、*pxB、aC、&aD、px4.设i和k都是int类型,则for循环语句( D )。
for(i=0, k=-1; k=1; i++, k++)printf("****\n");A 循环结束的条件不合法B 循环体一次也不执行C 循环体只执行一次D 是无限循环5.以下程序的输出结果为( D )。
main( ){char c;int i;for(i=65; i<68; i++){c=i+32;switch(c){case 'a':case 'b':case 'c': printf("%c,",c); break;default: printf("end");}}}A a, b, c, endB a, a, a, endC a, a, a,D a, b, c,6、若用数组名作为函数调用的实参,传递给形参的是( C )A、数组第一个元素的值B、数组中全部元素的值C、数组的首地址D、数组元素个数7、下面定义语句中,错误的是( B )A、int a[ ]={1, 2};B、char *a[ ];C、char s[10]=“BASI”;D、int n=5,a[n];8、下面程序main(){int x, y, z;x = 2;y = x++;z = ++x;printf(“%d \t %d \t %d\n”, x, y, z); }运行后输出的数据是( A )A、4 2 4B、4 2 2C、2 4 4D、4 4 49、下列程序main(){ int x;int *p1, *p2;x = 10;p1 = &xp2 = p1;printf(“%d \t %d\n”,*p1,*p2);}运行后输出的数据是( A )A、10 10B、10 0D、0 1010、下列程序:#include”stdio.h”struct entry{ int datd;int *ip;};main(){ int i;struct entry v;v.ip = &iv.data = 100;*v.ip = 50;printf(“%d %d %d\n”, v.data, *v.ip, i));}运行后输出的数据是( A )A、100 50 50B、100 50 0C、50 50 50D、50 50 011、下列数据中,为字符串常量的是( C )A、‘M’B、‘$you’C、”hello”D、basic12、若y为int 型变量,则执行以下语句后,y的值是( C )y=8;y+=y-=y*y;A、64B、-56D、-4813.设a为int型变量,执行下列赋值语句后,a的取值分别是( B )。
C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10;switch(i+1){ case 10: i++; break;case 11: ++i;case 12: ++i; break;default : i=i+1;}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e);中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0 D) 运行时出错(5) 用 int a[4]={1,2}; 对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”; 则语句printf(“%c”,*(p+2))运行结果是 ( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)));函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'; float a=b=10.0;C)int a=10,*b=&a; D)float *a,b=&a;4.下列选项中,不能用作标识符的是( D )A)_1234_ B)_1_2 C) int_2_ D)2_int_5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则( B )A)称为函数的直接递归调用 B)称为函数的间接递归调用C)称为函数的循环调用 D)C语言中不允许这样的递归调用6.以下叙述中正确的是 ( A )A)局部变量说明为static存储类,其生存期将得到延长B)全局变量说明为static存储类,其作用域将被扩大C)任何存储类的变量在未赋初值时,其值都是不确定的D)形参可以使用的存储类说明符与局部变量完全相同7.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( B)A)for(i=1,p=1;i<=5;i++) p*=i;B)for(i=1;i<=5;i++){ p=1; p*=i;}C)i=1;p=1;while(i<=5){p*=i; i++;}D)i=1;p=1;do{p*=i; i++; }while(i<=5);8.有以下程序(a)main(){ char a='a',b;printf("%c,",++a);printf("%c\n",b=a++);}程序运行后的输出结果是a)b,b B)b,c C)a,b D)a,c9.有以下函数定义:(c)void fun(int n, double x) { …… }若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是A) fun(int y,double m); B)k=fun(10,12.5) C)fun(x,n); D)void fun(n,x)10.已定义c为字符型变量,则下列语句中正确的是(c)A)c='97'; B)c="97"; C)c=97; D)c="a";11.以下能正确定义一维数组的选项是(b)A)int num[]; B) #define N 100 C)int num[0..100]; D) int N=100;int num[N]; int num[N];12.以下能正确定义数组并正确赋初值的语句是(d)A)int N=5,b[N][N]; B)int a[1][2]={{1},{3}};C)int c[2][]= {{1,2},{3,4}}; D)int d[3][2]={{1,2},{34}};13.有以下程序(a)main(){ int i;for (i=0; i<3; i++)switch (i){ case 1: printf("%d ", i);case 2: printf("%d ", i);default : printf("%d ", i); }}执行后输出结果是A)011122 B)012 C)012020 D)12014.有以下程序(d)main(){ int p[7]={11,13,14,15,16,17,18}, i=0,k=0;while(i<7 && p[i]%2) { k =k+ p[i]; i++; }printf("%d\n", k);}执行后输出结果是A)58 B)56 C)45 D)2415.以下叙述中正确的是(c)A)C语言比其他语言高级 B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点16.下列叙述中正确的是(d)A)C语言中既有逻辑类型也有集合类型B)C语言中没有逻辑类型但有集合类型C)C语言中有逻辑类型但没有集合类型D)C语言中既没有逻辑类型也没有集合类型17.以下叙述中正确的是(a)A)C程序中注释部分可以出现在程序中任意合适的地方B)花括号"{"和"}"只能作为函数体的定界符C)构成C程序的基本单位是函数,所有函数名都可以由用户命名D)分号是C语句之间的分隔符,不是语句的一部分二)阅读程序,写出程序运行结果(1) #include<stdio.h>main(){ char ch=’A’;ch=(ch>=’A’&& ch<=’Z’)?(ch+32):ch;printf(“%c”,ch);}程序的运行结果是:(2) #include<stdio.h>main( ){ int sum=0,i=11;while (i<=10){sum=sum+i;i++;}printf(“%d”,sum);}程序的运行结果是:(3) #include<stdio.h>main(){ char str[ ]=”1a2b3c”;int i;for(i=0;str[i]!=’\0’;i++)if (str[i]>=’0’ && str[i]<=’9’) printf(“%c”,str[i]);}程序的运行结果是:(4) main(){ int a,b;a=5;b=8;p(a,b);p(a+b,a);}p(int x,int y){y=x+y;printf(“%d %d”,x,y);}程序的运行结果是:(5) #include<stdio.h>void main(){ int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};int j,s=1;for(j=0;j<=2;j++)s=s*a[j][j];printf("%d",s);}程序的运行结果是:Key: (1) a (2) 0 (3) 123 (4) 5 13 13 18 (5) 45 三)改错题(每个程序只有一个错误,填入错误语句所在的行号以及修改后的语句)(1)下段程序的功能是先输入一个整数,然后将输入的整数输出。
1 main()2 {int x;3 scanf(“%d”,x);4 printf(“x=%d\n”,x); }行号:改为:(2)下段程序的功能是求1+2+3+4+……+99+100的和。
1 main()2 { int j=1,sum=0;3 while(j<=100)4 sum=sum+j;j++;5 printf(“%d”,sum);}行号:改为:(3)下段程序的功能是当输入x的值为90时,输出“right”,否则输出“error”。
1 main()2 { int x;3 if (x=90) printf(“right”);4 else printf(“error”);}行号:改为:(4)下面程序的功能是输出字符串S1 main()2 { char s[]=”china”;3 printf(“s=%s\n”,s[]);}行号:改为:(5)下面程序的功能是按照下面的格式输入a和b的值,计算y=a2+b2并输出。
输入: 3 2 ?输出: y=131 main()2 { int a,b;3 int y;4 scanf(“a=%d,b=%d”,&a,&b);5 y=a*a+b*b;6 printf(“y=%d\n”,y);7 }行号:改为:Key:(1)行号:3 改为:scanf(“%d”,&x); (2)行号:4 改为:{ sum=sum+j; j++;}; (3)行号:3 改为:if (x= =90) printf(“right”); (4)行号:3 改为:printf(“s=%s\n”,s); (5)行号:4 改为:scanf(“%d %d”,&a,&b);二、填空题1.以下程序输入3个整数值给a,b,c,变量b中的值给a,变量c中的值给b,变量a中的值给c,交换后输出a,b,c的值。