C语言期末试卷
程序设计C语言期末试卷
制定具体的养护方案《程序设计(C语言)》期末考试卷(A)使用专业、班级学号姓名l 题数一二三四五总分得分一、选择题〖每题2分,共计40分〗1.下列变量合法的是(B)。
A.2a0 B._1a0 C.x>y D.b-a2.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(B)。
A.7 B.8 C.6 D.23.有以下程序:void main( ){int x=101,y=011;printf("%2d,%2d\n",x,y);}执行后输出结果是(C)。
A.10, 9 B.101,11 C.101, 9 D.01,114.若有说明语句:char c='\72';则变量c( A )。
A.包含1个字符 B.包含2个字符 C.包含3个字符D.说明不合法,c的值不确定5.阅读一下程序,当输入数据的形式为25,13,10<CR> 正确的输出结果为( D )。
void main(){int x,y,z;scanf("%d%d%d",&x,&y,&z);printf("x+y+z=%d\n",x+y+z);}A.x+y+z=48 B.x+y+z=35 C.x+z=35 D.不确定值江南大学考试卷专用纸1考试形式开卷()、闭卷(√),在选项上打(√)开课教研室命题教师统一命题时间使用学期6.定义如下变量和数组:int k;int a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果为()。
for(k=0;k<3;k++) printf("%d",a[k][2-k]);A.3 5 7 B.3 6 9 C.1 5 9 D.1 4 77.有以下程序:void main(){ int i,n=0;for(i=2;i<5;i++){ do{ if(i%3) continue;n++;} while(!i);n++;}printf("n=%d\n",n);}程序执行后的输出结果是()。
c语言期末复习试题附答案
试卷编号:1120所属语言:C语言试卷方案:C语言期末考试试卷总分:100分共有题型:4种一、单项选择共30题(共计60分)第1题(分)设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A ).A:k++B:k+=1C:++kD:k+1第2题(分)已知int i=5,执行语句i+=++i后,i的值是(C).A:10B:llC:12D:A、B、C都不对第3题(分)以下程序的功能是:给r输入数据后,计算半径为r的圆面积s.程序在编译时出错. ttinclude <>void main()/* Beginning */{ int r;float s;scanf (〃%d〃,&r);s=p*r*r; printf (〃s=%f\n〃,s);出错的原因是(D).A:注释语句书写位置错误B:存放圆半径的变量r不应该定义为整型C:输出语句中格式描述符非法D:计算圆面积的赋值语句中使用了非法变量第4题(分)〃\\\〃 ABC\〃 \\〃的长度是(B ).A:llB:7C:5D:3第5题(分)已知int j, i=l执行语句j=-i++;后,j的值是(C ).A:1B:2串中的内容为“abcdefg”时,c 所指数组中的内容应该为 “lg2f3e4dcba” 。
*/ttinclude <>#include <>#include <>void fun ( char char *b, char *c )int i , j;char ch;i = 0;j 二 strlen(b)-l;/**********FOUND**********/ch = b [ i];b[j] = ch; i++; j —;/**********FOUND**********/while ( *a &&*b )//此处&&改为| | (逻辑或)if ()*c =*a;c++;/**********FOUND**********/a+;)if ( *b )*c 二*b; c++;b++;*c = 0;main()char sl[100],s2[100],t[200];clrscr ();printf (,z \nEnter si string : 〃);scanf (〃如〃,si);printf (,z \nEnter s2 string : 〃);scanf (〃%s 〃, s2);fun( si, s2, t );printf (/z \nThe result is : %s\n 〃,t );i j四、程序设计共1题(共计20分)第1题(分)/*【程序设计】功能:判断一个整数w 的各位数字平方之和能否被5整除, 可以被5整除则返回1,否则返回0。
c语言程序设计期末考试试卷
c语言程序设计期末考试试卷C语言程序设计期末考试试卷一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项表示一个字符常量?- A. 'A'- B. "A"- C. \A- D. A2. 以下哪个是C语言中的合法标识符?- A. 2variable- B. variable2- C. variable!3. C语言中,以下哪个语句用于定义一个整型数组?- A. int array[10] = {0};- B. int [10] array = {0};- C. int array = [10] = {0};- D. int array[10];4. 以下哪个是C语言中定义函数的关键字?- A. function- B. method- C. def- D. int5. C语言中,以下哪个是正确的函数声明?- A. int add(int a, int b)- B. int add(int a, int b) {}- C. int add(int, int);- D. void add(int a, int b);6. 在C语言中,以下哪个语句用于实现循环?- A. do-while- B. for- C. switch-case- D. if-else7. 在C语言中,以下哪个语句用于实现条件判断? - A. if-else- B. switch-case- C. while- D. for8. 在C语言中,以下哪个语句用于实现跳转?- A. return- B. break- C. continue- D. goto9. 在C语言中,以下哪个是正确的字符串字面量? - A. "Hello World"- B. 'Hello World'- C. "hello world"- D. {"Hello World"}10. 在C语言中,以下哪个是正确的结构体定义?- A. struct person { int age; char name[20]; };- B. struct { int age; char name[20]; } person;- C. struct person { int age; char name; };- D. struct person int age; char name[20];二、填空题(每空1分,共10分)1. 在C语言中,一个整型变量的默认值是______。
大学《C语言程序设计》期末考试试卷及参考答案
大学《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语言期末测试题(附答案)
** 课程代码:A100002座位号:《计算机技术基础(C语言)》试卷A姓名: 学号: 专业:学院: 班级:20 年月日第一部分选择题(共 30 分)一、单项选择题(本大题共 15 小题,每题只有一个正确答案,答对一题得 2 分,共 30 分)1、以下关于C语言标识符的描述中,正确的是【】。
A)标识符可以由汉字组成B)标识符只能以字母开头C)关键字可以作为用户标识符D)Area与area是不同的标识符2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【】。
int i,j,k;scanf(“%d,%3d%d”,&i,&j,&k);printf(“%d,%d,%d\n”,i,j,k);A)12345678 B)123,456,78 C)123,45678 D)123,*456783、判断char类型的变量c1是否为数字字符的正确表达式为【】。
A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’)C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’)4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是【】。
A)’a’&&’b’ B)a<=b C)((a>b)||(b<c) D)(!(a+b)==c&&a)5、已知:int a[2][3]; 则对数组元素的非法引用是【】A. *(a[0]+2)B. a[1][3] C . a[1][0] D. *(*(a+1)+2)6、在循环语句的循环体中执行break语句,其作用是【】。
A)跳出该循环体,提前结束循环B)继续执行break语句之后的循环体各语句C)结束本次循环,进行下次循环D)终止程序运行7、执行语句for(i=10;i>0;i--);后,变量i的值为【】。
C语言期末考测试卷及其标准答案
C语言期耒考试卷及其答案—选择题(7分,每小题0.5分)1・C语言源程序的基本单位是(A过程B函数C子程序D标识符2下列程序的输出结果是(九main(){int a=7,b=53 printf(H%d\n'\b=b/a) o}A5B1 CO D不确定值3•假设变量比b均为整型,表达式 ($二54=2,臼Ab?a++:b++,a+b)的值是()。
A7B8C9D2 4•设a为int型娅,执行下列赋值语句后,a的取值分别是()。
a=125.534。
吐(int) 125.521 %4。
a=5«2。
A125,31J B125J,20C 125,31,20 D 125.534,2,205•设有如下程序段,下面描述中正确的是()。
int k=10 □ - while(k-O) k=k-1 oA循环执彳产次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一•次6•以下程序的输出结果为(儿int i。
void prt() [for(i=50 i<8. i++) printf(r,%c M/*% printf(g } main(){for(i=5a i<-8o i++)Prmtf()o } 7•在C语言程序中,以下说法正确的是(九AT *** C *** *** D ***A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的宦义利函数的调用者阿以嵌套8.以下函数调用语句中含有()个实参。
func((e1 ,e2),(e3,e4,e5))oA2B 3 C 5 D 语法错误 9以下程序的输出结果为()。
#define ADD(x) x*x main() {int a=4?b=6,c=7,d-ADD(a+b)*Co printf(,,d=%d M ,d). }Ad=70B d 二80 C d=140 D d=700w 分配()字节的空间。
C语言期末考试试卷附参考答案
一、单项选择题(请将答案填在下面表格中20×1)1. 以下叙述中正确的是()。
A. C语言比其他语言高级B. C语言可以不用编译就能被计算机识别执行C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D. C语言出现的最晚,具有其他语言的一切优点2. 以下叙述中正确的是()。
A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C. main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3. 以下叙述中正确的是()。
A. C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分4. 以下有关for循环的正确描述是()。
A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5. 对下面程序段的描述,正确的是()。
x=-1;do{x=x*x;}while(!x);A.是死循环B. 循环执行一次C. 循环执行两次D. 有语法错误6. 以下有关C语言数组说法正确的是()。
A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。
A. int a(20);B. int a[ ]={1,2,5,7,0};C. int a[n];D. int a[2]={1,2,4,6};8.在定义int b[2][10];之后,对b数组元素引用正确的是( )。
A. b[0][9]B. b[2,3]C. b(1)(5)D. b[10] [0]9. 如有定义语句int c[ ]={1,5,3,4,6,7,0};,则数组c有()个元素。
2022年池州学院公共课《C语言》科目期末试卷A(有答案)
2022年池州学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、在C语言中,&运算符作为单目运算符时表示的是_______运算;作为双目运算符时表示的是_______运算。
2、在C语言源程序中,一个变量代表【】。
3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、在C语言中,8作为双目运算符时表示的是_______,而作为单目运算符时表示的是_______。
5、若有定义语句:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为_______6、下面程序段的运行结果是_______。
char s[20]="abcd";char*sp=s;sp++;puts(strcat(sp,"ABCD"));7、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。
在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。
a[0]=1;a[1]=2;swap(a,2);8、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。
例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。
请填空。
_______;a=b;b=c;_______;9、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。
#include <stdio.h>int main(){int a,b;float x,y;char cl,c2;scanf("a=%d b=%d",&.a,&.b);scanf("x=%f y=%",8.x,8.y);scanf("c1=%cc2=%c”,8.cl,8.c2);printf("a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,b,x,y,cl,c2);return0;}10、字符串"ab\n\\012\\\"”的长度是_______。
c语言期末复习试卷
复习题(一)1。
用高级语言编写的源程序必须通过___________程序翻译成二进制程序才能执行,这个二进制程序称为____________程序。
【答案】编译目标2。
下列符号串中,属于C语言合法标识符的是()①else ②a-2 ③_00 ④00【答案】③3.下列说法中,正确的是()①主函数名是由程序设计人员按照“标识符”的规则选取的②分号和回车符号都可以作为一个语句的结束符号③在程序清单的任何地方都可以插入一个或多个空格符号④程序的执行,总是从源程序清单的第1行开始【答案】③4.-12345E-3代表的十进制实数是________________________.【答案】—12.3455.设字符型变量ch中存放字符“A”,则执行“ch+++2”后,ch中的字符是________。
【答案】B6.设字符型变量ch1中存放的字符是“A",字符型变量ch2中存放的字符是“B”,则执行“!(ch1=’B')&&(ch2='C')”的运算后,变量ch2中的字符是_____________.【答案】B6-1.设整型变量m,n,a,b,c,d均为1,执行“(m=a〉b)&&(n=a>b)”后m,n 的值是()①0,0 ②0,l ③1,0 ④1 ,l【答案】②。
7.设整型变量x1和x2的值均为10,则表达式“x1/=x2-4”的值是_______________. 【答案】l8.在C语言中,如果某个关系表达式成立(真),则该关系表达式的值是____;如果某个逻辑表达式为假,则该逻辑表达式的值是_________.【答案】1 09.设有整型变量x,如果表达式“!x”值为0,则x的值为_________;如果表达式“!x"值为1,则x的值为___________。
【答案】非010.下列表达式中,不属于逗号表达式的是()①a=b,c ②a,b=c ③a=(b,c) ④a,(b=c)【答案】③11.在三种选择结构中,能用2个条件,控制从3个操作中选择一个操作执行的选择结构是______选择结构【答案】多分支12.在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是______循环结构。
C语言期末考试试卷附参考答案
一、单项选择题(请将答案填在下面表格中20×1)1.以下叙述中正确的是()。
A.C语言比其他语言高级B.C语言可以不用编译就能被计算机识别执行C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D.C语言出现的最晚,具有其他语言的一切优点2.以下叙述中正确的是()。
A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C.main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3.以下叙述中正确的是()。
A.C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分4.以下有关for循环的正确描述是()。
A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5.对下面程序段的描述,正确的是()。
x=-1;do{x=x*x;}while(!x);A.是死循环B.循环执行一次C.循环执行两次D.有语法错误6.以下有关C语言数组说法正确的是()。
A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。
A.inta(20);B.inta[]={1,2,5,7,0};C.inta[n];D.inta[2]={1,2,4,6};8.在定义intb[2][10];之后,对b数组元素引用正确的是()。
A.b[0][9]B.b[2,3]C.b(1)(5)D.b[10][0]9.如有定义语句intc[]={1,5,3,4,6,7,0};,则数组c有()个元素。
C语言期末试卷
37、有以下程序: main() {int aa[5][5]={{1,2,3,4},{5,6,1,8},{5,9,10,2},{1,2,5,6}}; int s=0,i; for(i=0;i<4;i++) s+=aa[i][2]; printf("%d",s); } 程序运行后的输出结果是( )。(2分)
A、预处理命令行都必须以“#”号开始,结尾不加分号 B、在程序中凡是以“#”开始的语句行都是预处理命令行
C、C程序在执行过程中对预处理命令进行处理 D、预处理命令可以放在程序的任何位置
33、fwrite函数的一般调用形式是( )。(1分)
A、fwrite(buffer,count,size,fp) B、fwrite(fp,size,count,buffer)
C、(c>=2&&c<=6)&&!(c%2) D、(c>=2&&c<=6)&&(c%2!=1)
16、main( ) {int n=4; while(n)printf("%d ",--n); } 以上程序的输出结果是( )。(1分)
A、2 0 B、3 1
C、3 2 1 0 D、2 1 0
5、设int a[2][3]={{5},{6}}; 则数组元素的值为5。
17、若a=3,b=4,c=5,d=6,则条件表达式a<b?a:c<d?c:d的值是()。(1分)
A、4 B、3
C、2 D、1
18、下列关于逻辑运算符两侧运算对象的叙述中正确的是()。(1分)
A、只能是整数0或1 B、只能是整数0或非0
期末考卷C语言样题1
D) C 语言程序中的 main()函数必须放在程序的开始部分
(5)C 语言中最简单的数据类型包括:( )
A)整型、实型、逻辑型
B)整型、实型、字符型
C)整型、字符型、逻辑型 D)整型、实型、逻辑型、字符型
(6)结构化程序设计所规定的三种基本控制结构是:( )
A)输入、处理、输出 B)树形、网形、环形
C) (x>=y>=z)
D) (x>=y)&(Y>=z)
(15) 若有定义:int a=7,float x=2.5,y=4.7;,则表达式 x+a%3*(int)(x+y)%2/4 的值
为:( )
A) 3.5 B) 2.75 C) 2.5 D)0
(16)若变量 a 是 int 类型,并执行了语句:a=‘A’+1.6;,则正确的叙述是:( )
printf("\"%s\"\n",ch[1]);
}
A) "AAAA" B) "BBB" C) "BBBCC" D) "CC"
(35) 如 a=-2, b=3 表达式 (a<b) ? a : b 的结果为:( )
A、1
B、-2
C、3
D、-6
(36) 以下程序中的 for 循环执行的次数是:( )
#define N 2
C)顺序、选择、循环 D)主程序、子程序、函数
(7)下列关于数组的说明错误的是:( )
A) float f[][3]={1,2,6,4,8,9}
B)char d[10]=”acvdf\n”
C) int b[10]={5,7,24}
c语言程序设计期末试题A(含答案)
c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1.一个C程序的执行是从(A )。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是(D )。
A) _1234_ B) _1_2 C) int_2_ D) 2_int_3.以下定义语句中正确的是( C)。
A) char a='A'b='B'; B) float a=b=10.0;C) int a=10,*b=&a; D) float *a,b=&a;4.设有以下定义:#define d 2int a=0; double b=1.25; char c=’A’;则下面语句中错误的是(B)。
A) a++; B) b++ C) c++; D) d++;5.以下4个选项中,不能作为一条C语句的是(D)。
A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2;6.有以下定义语句 double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( C)。
A) a=a+b=b++ B) w%(int)a+b) C) (c+w)%(int)a D) w=a==b;7.设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是(D)。
A) p=1; B) *q=2; C) q=p; D) *p=5; 选D.A.p是一个指针,不能给它赋一个整型的值1B.*q仍然是一个指针,*q就是p.所以也不能给它赋一个整型的值.C.q=p;q是个二级指针,p是一级指针,不能把一级指针赋给二级指针.*p=5,即给n赋值为5,正确.8.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( A)。
C语言期末考试测试试卷(较难)
一、选择题(每题2分,共20分)1. 以下关于指针的说法中,错误的是()A. 指针是一个变量,其值为另一个变量的地址B. 指针变量的值可以改变,但其指向的内存地址不能改变C. 指针变量的类型决定了其所指向的数据类型D. 指针变量可以进行算术运算2. 以下关于结构体的说法中,正确的是()A. 结构体变量的成员可以是另一个结构体类型B. 结构体变量的大小等于其所有成员大小之和C. 结构体变量可以直接赋值给另一个结构体变量D. 结构体变量不能作为函数的参数传递3. 以下关于文件操作的说法中,错误的是()A. fopen()函数用于打开文件B. fclose()函数用于关闭文件C. fprintf()函数用于向文件写入格式化数据D. fscanf()函数用于从文件读取格式化数据4. 以下关于动态内存分配的说法中,正确的是()A. malloc()函数用于分配内存,但不需要释放B. calloc()函数用于分配内存,并将内存初始化为0C. realloc()函数用于重新分配内存,但不能改变原有内存的大小D. free()函数用于释放内存,但不能释放由malloc()函数分配的内存5. 以下关于链表的说法中,错误的是()A. 链表是一种动态数据结构,可以动态地插入和删除元素B. 链表中的每个节点都包含数据域和指针域C. 链表的最后一个节点的指针域为NULLD. 链表的插入和删除操作的时间复杂度为O(n)6. 以下关于递归函数的说法中,正确的是()A. 递归函数必须有递归出口,否则会导致无限递归B. 递归函数的时间复杂度一定高于非递归函数C. 递归函数的空间复杂度一定低于非递归函数D. 递归函数的参数必须是指针类型7. 以下关于二维数组的说法中,错误的是()A. 二维数组的每个元素都是一维数组B. 二维数组的行数和列数必须在定义时指定C. 二维数组的元素在内存中是连续存储的D. 二维数组的元素可以通过下标访问8. 以下关于函数指针的说法中,正确的是()A. 函数指针可以指向任意类型的函数B. 函数指针可以作为函数的参数传递C. 函数指针可以直接调用函数D. 函数指针不能进行赋值操作9. 以下关于位运算的说法中,错误的是()A. 位运算的操作数必须是整数类型B. 位运算的优先级高于算术运算C. 位运算的结果是一个整数D. 位运算可以用于实现快速的乘除运算10. 以下关于预处理器的说法中,正确的是()A. 预处理器是在编译阶段之前执行的B. 预处理器可以用于定义宏和条件编译C. 预处理器可以用于包含头文件D. 以上都对二、填空题(每空1分,共10分)1. 在C语言中,字符串是以_____结尾的字符数组。
C语言期末考试试卷及答案3
一、单项选择题(本大题共20小题,每小题1分,共20分)1.下列说法正确的是()A.C程序可以从任何一个函数开始执行B.main函数可以被其它函数调用C.一个C程序只能有一个main函数D.main函数中不能有形参2.下列属于正确的标示符是()A.?aB.a=2C.a.3D.a_33.下列数据中属于“字符串常量”的是A.ABCB.“ABC”C.‘abc’D.‘a’4.char型常量在内存中存放的是()A.ASCII代码B.BCD代码C.内码D.十进制代码5.设字符型变量a=3,b=6,计算表达式c=(a^b)<<2后c的二进制值是()A.00011100B.00000111C.00000001D.000101006.若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c的值的类型为()A.floatB.intC.charD.double7.以下程序的输出结果是a=5,b=4,则输入数据的形式应该是()#include“stdio.h”main(){int a,b;scanf("%d,b=%d",&a,&b);printf("a=%d,b=%d",a,b);}A54B5,4C5b=4D5,b=48.C语言中,while和do…while循环的主要区别是()A.while的循环控制条件比do…while的循环控制条件严格B.do…while的循环体至少无条件执行一次C.do…while允许从外部转到循环体内D.do…while的循环体不能是复合语句9.循环语句for(x=0,y=0;(y!=123)||(x<4);x++);的循环执行()A.无限次B.不确定次数C.4次D.3次10.在C语言中,设有数组定义char array[]="China";则array所占的空间为()A.4个字节B.5个字节C.6个字节D.7个字节11.若变量已正确说明为int类型,要通过语句scanf(“%d%d%d”,&a,&b,&c);给a,b,c分别赋值3,5,8,不正确的输入形式是()A.3<enter>B.3,5,8<enter>5<enter>8<enter>C.3<enter>D.35<enter>58<enter>812.char*p="happy new year";char*q=p;int k;for(k=1;k<8;k++){putchar(*q);q++;}上面C程序段的输出结果是()A.happy new yearB.happy newC.happy nD.happyE.appy n13.设double*p[5];则A.p是指向double型变量的指针B.p是double型数组C.p是指针数组,其元素是指向double型变量的指针D.p是数组指针,指向double型数组14.两个指针变量不可以()A.相加B比较C相减D指向同一地址15.对C语言函数描述正确的是A.在C语言中调用函数时,只能把实参的值传给形参,形参的值不能传回给实参B.C函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D.函数必须有返回值,返回值类型不定16.设有如下定义,则对data中的a成员的正确引用是()struct test{int a;float b;}data,*p=&data;A.(*p).data.aB.(*p).aC.p->data.aD.p.data.a17.有如下程序(提示:注意宏替换的规则)#define N2#define M N+1#define NUM2*M+1#main(){int i;for(i=1;i<=NUM;i++)printf(“%d\n”,i);}该程序中的for循环执行的次数是()A.5B.6C.7D.818.若有以下定义,则printf(“%d\n”,sizeof(them));的输出是()typedef union{long x[2];int y[4];char z[8];}MYTYPE;MYTYPE them;A.32B.16C.8D.2419.下列语句中,将c定义为文件型指针的是()A.FILE c;B.FILE*c;C.file c;D.file*c;20.下列关于C语言数据文件的叙述中正确的是A.文件由ASCII码字符序列组成,C语言只能读写文本文件B.文件由二进制数据序列组成,C语言只能读写二进制文件C.文件由记录序列组成,可按数据存放形式分为二进制文件和文本文件D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件二、填空题(本大题共10小题,每小题2分,共20分)1.在定义变量的同时给变量赋予初值就称为___________________________________ 2.下面程序段的输出结果是___________________________________________ int a=28;a=a&21;printf(“%d%o\n”,a,a);3.能正确表示0≤a≤10的逻辑表达式是_________________________________4.若有定义int a[3],*p;则使p指向数组a的赋值语句是_______________________ 5.strcmp函数的功能是________________________________________6.写出数学式a acbbx24 2-+-=的C语言表达式________________________________ 7.将以下程序写成三目运算符的表达式是____________________________________if(a>b)max=a;else max=b8.设有定义如下:#define F(N)2*N,则表达式F(2+3)的值是_____________________. 9.在C语言中,指针运算符为___________________,取地址运算符________________。
C语言期末考试试卷附参考答案
一、单项选择题(请将答案填在下面表格中20×1)1. 以下叙述中正确的是()。
A. C语言比其他语言高级B. C语言可以不用编译就能被计算机识别执行C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D. C语言出现的最晚,具有其他语言的一切优点2. 以下叙述中正确的是()。
A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C. main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3. 以下叙述中正确的是()。
A. C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分4. 以下有关for循环的正确描述是()。
A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5. 对下面程序段的描述,正确的是()。
x=-1;do{x=x*x;}while(!x);A.是死循环B. 循环执行一次C. 循环执行两次D. 有语法错误6. 以下有关C语言数组说法正确的是()。
A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。
A. int a(20);B. int a[ ]={1,2,5,7,0};C. int a[n];D. int a[2]={1,2,4,6};8.在定义int b[2][10];之后,对b数组元素引用正确的是( )。
A. b[0][9]B. b[2,3]C. b(1)(5)D. b[10] [0]9. 如有定义语句int c[ ]={1,5,3,4,6,7,0};,则数组c有()个元素。
C语言期末试卷
C、while循环的循环体至少被执行一次 D、do while循环的循环体至少被执行一次
19、若有定义char str[]= “very good”,则str的长度为( )。(1分)
A、8 B、9
27、复合语句中定义的变量的作用范围是()(1分)
A、整个源文件 B、整个函数
C、整个程序 D、所定义的复合语句
28、设已有定义:float x;,则下列对指针变量p进行定义且赋初值的语句中正确的是( )。(1分)
A、float *p=1024; B、int *p=(float)x;
C、定义数组长度时可以用常量或变量 D、可以作参数传递
23、若有说明:int a[][3]={0,0};则不正确的叙述是( )。(1分)
A、数组a的每个元素的初值都是0 B、数组a的第一维大小为1
C、数组a的行数为1 D、只有元素a[0][0]和a[0][1]初值为0,其余元素得不到初值0
A、if(x++) ; B、if(x>y&&y!=0)
C、if (x>0) x-- else y++ D、if (y<0){;} else x++;
15、在嵌套使用if语句时,C语言规定else总是()。(1分)
A、和之前与其具有相同缩进位置的if配对 B、和之前与其最近的if配对
A、自动(auto) B、静态(static)
C、外部(extern) D、寄存器(register)
26、下述函数定义形式正确的是()(1分)
《C语言程序设计》期末试卷
《C语言程序设计》期末试卷一. 单选题(共25题,25分)1. (单选题, 1分)被称为“C语言之父”的是以下哪一位?()A.Martin RichardsB.Ken ThompsonC.Dennis M. RitchieD.Brain W. Kernighan答案:D2. (单选题, 1分)有定义语句:int x,y;,若要通过scanf("%d,%d",&x,&y);语句使变量x 得到数值11,变量y得到数值12,下面四组输入形式中,错误的是: ()A.11 12<回车>B.11, 12<回车>C.11,12<回车>D.11,<回车>12<回车>答案:A3. (单选题, 1分)若以下选项中的变量已正确定义,则正确的赋值语句是:()A. x1=26.8%3 B.1+2=x2C.x3=0x12D.x4=1+2=3答案:C4. (单选题, 1分)下列循环语句中有语法错误的是____。
A. while(x=y) 5;B. while(0) ;C. do 2;while(x==b);D. do x++ while(x==10);答案:D5. (单选题, 1分)若有以下函数调用语句:fun(a+b,fun(d,(a,b)));在此函数调用语句中实参的个数是()。
A. 4B. 3C. 2D. 1答案:C6. (单选题, 1分)设函数fun的定义形式为void fun(char ch, float x ){ … }则以下对函数fun的调用语句中,正确的是()A. fun("abc",3.0);B. t=fun('D’,16.5);C. fun('65',2.8);D. fun(32,32);答案:D7. (单选题, 1分)在C语言中,只有在使用时才占用内存单元的变量,其存储类型是( )A.auto和registerB.extern和registerC.auto和staticD.static和register答案:A 自动和寄存型8. (单选题, 1分)当变量c的值不为2、4、6时,值也为"真"的表达式是( )A.(c==2)||(c==4)||(c==6)B.(c>=2&& c<=6)||(c!=3)||(c!=5)C.(c>=2&&c<=6)&&!(c%2)D.(c>=2&& c<=6)&&(c%2!=1)答案:B9. (单选题, 1分) C语言执行程序的开始执行点是( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C、循环体语句一次也不执行 D、循环体语句执行一次
15、while和 do while循环的主要区别是()。(1分)
A、do while循环的循环体不能是复合语句 B、do while循环允许从循环体外转到循环体内
C、while循环的循环体至少被执行一次 D、do while循环的循环体至少被执行一次
C、3,3 D、1,5
11、若a为int型变量,则执行以下语句后,a的值为( )。 a=5;a+=a-=a*a;(1分)
A、25 B、-40
C、40 D、-14
12、以下选项中不是C语句的是()(1分)
A、{int i;i++;printf("%d\n",i);} B、;
C、float p=&x; D、float *p=&x;
30、设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是( )。(1分)
A、*p=*q B、p=q
C、*p=&n1; D、p=*q
31、设有以下说明语句: struct stu {int a; float b; }stutype; 则下面叙述不正确的是()(1分)
C、a[2][2] D、a[10-10]
24、关于函数参数,说法正确的是()(1分)
A、实参与其对应的形参各自占用独立的内存单元 B、实参与其对应的形参共同占用一个内存单元
C、只有当实参和形参同名时才占用同一个内存单元 D、形参是虚拟的,不占用内存单元
25、以下说法正确的是()(1分)
(1分)
--------------------------------------------------------------------------------
6、设有定义语句:int a[][3]={{0},{1},{3}},则数组元素a[1][2]是
(1分)
C、a=5,c=10 D、{;}
13、设变量已正确定义并赋值,以下正确的表达式是( )。(1分)
A、x=y*5=x+z B、int(15.8%3)
C、x=y+z+3,++y D、x=25%5.0
14、int k=1; while (k==0) k=k+1; 则以下说法正确的是( )。(1分)
C、'\xAA' D、'0'
5、设C语言中,float类型数据占4个字节,则double类型数据占( )个字节。(1分)
A、1 B、2
C、8 D、4
6、下列选项中不正确的常数的选项是()(1分)
A、0x12F B、-1.23E-2
C、12.0 D、0388
7、若已定义x和y为整型变量,且x=7,则表达式y=2.3+x/2的值是( )。(1分)
A、gets函数用于从终端读入字符串 B、getchar函数用于从磁盘文件读入字符
C、fputs函数用于把字符串输出到文件 D、fwrite函数用于以二进制形式输出数据到文件
35、下列哪个是字符写函数( )。(1分)
A、fgetc B、fputc
C、fgets D、fwrite
A、a+(i++) B、&a(i+1)
C、a+i D、&a[++i]
39、有以下程序: main() {int i,t[][3]={9,8,7,6,5,4,3,2,1}; for(i=0;i<3;i++) printf("%d",t[2-i][i]); } 程序执行后的输出结果是( )。(2分)
A、9 B、10
C、11 D、12
20、若有说明:int a[3][4]={0};则下面正确的叙述是(1分)
A、只有数组元素a[0][0]可得到初值0 B、此说明语句不正确
C、数组a中各元素都可得到初值,但其值不一定为0 D、数组a中每个元素均可得到初值0
21、设已执行预编译命令#include<string.h>,以下程序段的输出结果是()。 char s[]="abcdefg"; printf("%d\n",strlen(s));(1分)
C、1 D、0
二、填空题(11道小题,共20分)
1、若x和n均是int型变量,且x=12,n=5,则执行y=x%=(n%=2)表达式后y的值为。
(1分)
--------------------------------------------------------------------------------
33、使用fgets(str,n,p)函数从文件中读入一个字符串,以下叙述错误的是()。(1分)
A、字符串读入后会自动加入'\0' B、fp是指向该文件的文件型指针
C、fgets函数将从文件中最多读入n-1个字符 D、fgets函数将从文件中最多读入n个字符
34、当以下叙述中错误的是()。(1分)
--------------------------------------------------------------------------------
7、函数中的形参和调用时的实参都是变量时,传递方式为。
C、调用函数时主调函数所传递的实参类型 D、函数定义时形参的类型
27、C语言程序由函数组成。以下说法正确的是()(1分)
A、主函数必须在其它函数之前,函数内可以嵌套定义函数 B、主函数可以在其它函数之后,函数内不可以嵌套定义函数
C、主函数必须在其它函数之前,函数内不可以嵌套定义函数 D、主函数必须在其它函数之后,函数内可以嵌套定义函数
A、3 B、2
C、1 D、0
18、下列叙述中正确的是()。(1分)
A、break只能用于 switch语句 B、switch语句中必须使用default
C、break必须与switch语句中的case配对使用 D、在switch中,不一定使用break
19、若有定义char str[]= “c program”,则str的长度为( )。(1分)
28、若已有定义int x=2; int *p=&x;则*p的值为( )。(1分)
A、2 B、&x
C、*x D、&p
29、设已有定义:float x;,则下列对指针变量p进行定义且赋初值的语句中正确的是( )。(1分)
A、float *p=1024; B、int *p=(float)x;
4、for(;;)语句相当于while()。
(1分)
--------------------------------------------------------------------------------
5、设int a[2][3]={{5},{6}}; 则数组元素的值为5。
2、C语言源程序连接后生成文件的后缀是。
(1分)
--------------------------------------------------------------------------------
3、C语句的最后用结束。
(1分)
--------------------------------------------------------------------------------
C、x-y、go to、123 D、_123、tmp、CHAR
3、能表示条件0≤x≤100的表达式是()(1分)
A、a<=x<=100 B、x>=1,x<=100
C、0=<x=<100 D、x>=0&&x<=100
4、以下选项中非法的字符常量是( )。(1分)
A、'\\' B、'\0201'
A、7 5 3 B、3 5 7
C、3 6 9 D、7 5 1
40、main() {int x=2,y=-1,z=2; if(x<y) if(y<0) z=0; else z+=1; printf("%d\n",z); } 以上程序的输出结果为( )。(2分)
A、3 B、2
1、以下定义正确的是( )。(1分)
A、int a=b=0; B、char A=65+1,b='b';
C、float a=1,"b=&a,"c=&b; D、double a=0.0;b=1.1;
2、下面四个选项中,均是不合法的用户标识符的选项是()(1分)
A、BA、x_0、do B、float、1a0、_Y
16、for (i=2; i==0; ) printf(“%d” , i--) ; 以上程序段的循环次数是( )。(1分)
A、2次 B、无限次
C、0 次 D、1 次
17、以下循环体的执行次数是()。 main() {int i,j; for(i=0,j=1;i<j+1;i+=1,j--) printf("%d\n",j);}(1分)
36、下列程序的功能时:给r输入数据后计算半径为r的圆面积s。程序在编译时出错。 main() { int r; float s; scanf("%d",&r); s=pi*r*r; printf("s=%f\n",s); } 出错的原因是()。(2分)