《2022年C语言期中试卷答案 .pdf》由会员分享,可在线阅读,更多相关《2022年C语言期中试卷答案 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一、判断题() 1C 语言程序的三种基本结构是顺序结构、选择结构和循环结构。() 2设有语句: int i=3;int j=4;int k=5; 则逻辑表达式:!(i+j)+(k-1)&(i+k)/2的值为 1。() 3数组元素在内存中是按顺序、连续存放的。() 4字符串的结束标志是n 。() 5在 C 程序中,用整数0表示逻辑值假 。() 6do-while 语句先判断循环条件,所以循环体有可能一次也不执行。() 7数组名代表该数组的首地址,它可以进行自增、自减的操作。() 8C 语言程序由函数构成,函数由语句构成。二、填空1C 程序是由函数构成,它由两部分组成:_函数首部 _和_函数体 _
2、。2把k1,k2 定义成基本整型变量,并赋初值7 的定义语句为int k1=7,k2=7; 。若有语句k1+=k1-=k1+1; 则 k1 的值为-2 。3结构化程序包括三种基本结构,分别是_顺序结构、选择结构、循环结构。4C 语言的基本数据类型包括_ 整型、_实型 _、字符型。5设 x=3.5,a=8,b=3,c=1, 则 x/3+(a-b)%4*(int)(x-c)%2/4=_1.166667_. 6设 a=24,则经过表达式运算后a+=a-=a*=a,a 的值为 _0_。7设 a=3,b=4,c=5,则 逻辑表达式 !(ab)&!c|b+c&b-c其值为 _1_。8算术表达式(2x-3)
3、*x+9x/y+5/9(x-6)在 C 语言中表达式为_(2*x-3)*x+9*x/y+5/9*(x-6)_。9表达式3.5+1/2+56%10 的计算结果是9.500000 。10在循环语句中,break 的作用是中止循环,continue 的作用是结束本次循环。11将数学表达式)()(csbsass改写为 C 语言中合法的表达式sqrt(s*(s-a)*(s-b)*(s-c) 。三、单选题1下列标识符中正确的一组是( C )。A. name char _abc a$ B. abc.c 5bytes _UAZ _54322 C. print const type5define D. incl
4、ude integer Double shore_in 2设 a=5,b=6,c=3,使用 printf( “ %d%d%d”,a,b,c)函数调用后输出结果是( D )。A. 5,6,3 B. 5 6 3 C. A=5B=6C=3 D. 563 3下面属于语句的是( C )。A. scanf(“ %d ” ,&a) B. #include C. a=b;a=c; D. /*this*/4C 语言中 while 和 do-while 循环的主要区别是( A )。Ado-while 的循环体至少无条件执行一次Bwhile 的循环控制条件比do-while 的循环条件严格Cdo-while 允许从
5、外部转到循环体内Ddo-while 的循环体不能是复合语句5以下不正确的赋值语句是( D )。Aj+ B i+=i*=9 C x=(int)x+2 Dx+y=9 6下列数据中,为字符串常量的是( B ) 。A AB ” house”CHow do you do D $abc7下列运算符中,优先级最低的是(D ) 。A* B ! = C+ D= 8C 语言中,要求运算数必须是整型的运算符是(D ) 。A/ B !C D% 9设有语句:char c; 然后将字符a 赋给变量 c,则下面语句中正确的是(A ) 。Ac=aBc=”a”Cc=”97”D 97名师归纳总结 精品学习资料 - - - - -
6、 - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 10已知 x=3,y=4, 则 x*=y+8 的值为(C ) 。A3 B2 C36 D10 11执行下列语句的结果是(D ) 。i=3; printf(“ %d,” ,+i);printf(“ %d ” ,i+);A3,3 B3,4 C4,3 D4,4 12已知 year 为整型变量,不能使表达式(year%4=0&year%100!=0|year%400=0)的值为“真”的数据是(A) 。A1990 B19
7、92 C1996 D2000 13下列 while 循环,将执行(A) 。i=4; while(- i) printf(“ %d ” , i);A3 次B4 次C0 次D无限次14对于以下程序段,运行后i 值为(C ) 。int i=0,a=1; switch(a) case 1: i+=1; case 2: i+=2; default: i+=3; A1 B3 C6 D上述程序有语法错误15以下程序的运行结果为(A ) 。void main() int n; for(n=1;n=10;n+) if(n%3=0)continue; printf(“ %d ” , n); A12457810 B
8、369 C12 D12345678910 四、程序填空1. 下面程序要求输入a,b,c 三个值,输出其中最大值。#include void main() int a,b,c,max; printf(“ Please enter three numbers:n” );scanf(“ %d%d%d ” ,&a,&b,&c); max=a; if (maxb) max=b ; if(maxc) max=c ; printf(“ the max is %d” ,max); 2. 判断 m 是否素数。#include #include void main() 名师归纳总结 精品学习资料 - - - -
9、- - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 5 页 - - - - - - - - - int m,i,k; _scanf(“ %d ” ,&m); k=sqrt(m); for(i=2; i=k+1)printf(“ %d is a prime number.n” ,m);else printf(“ %d is not a prime number.n” ,m); 五、阅读下列程序,写出程序执行结果1#include void main() int n; for(n=20;n=30;n+)
10、结果: 20 22 23 25 26 28 29 if(n%3=0)continue; printf(“ %d ” ,n); 2. #include void main() int i, a10; for(i=0;i=9;i+) 结果: *0*1*2*3*4*5*6*7*8*9 ai=i; for(i=0;i=9;i+) printf(“ *%d” ,ai); 3. #include void main() int m=0,n=0,a=1,b=2,c=3,d=4,x=1; 结果: 0,0 if(m=ab)&(n=cd) ) x+; printf(“ %d,%d” ,m,n); 4写出下列程序的
11、输出结果。#include 结果: 1 void main() int i=1; while(i=- 1)printf(“ #” );printf(“ %d ” ,i); 5对于下列程序,如输入:2.4(回车),其输出结果是什么?#include #include void main() 结果: f(2.400000)=4.76 float x, y; printf(“ input x:n” );scanf(“ %f” ,&x); 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - -
12、 - - 第 3 页,共 5 页 - - - - - - - - - if(x=1) y=exp(x); else y=x*x-1; printf( “ f(%f)=%.2fn” , x, y); 六、编程题1从键盘输入一个数,判断该数是否素数,并输出相应的信息。(4 分)2请用 for 循环语句计算:2/1,3/2,5/3,8/5,13/8. 的前 20 项之和。(5 分)3用循环语句编写一个程序,要求打印下列图形:(5 分)* * * * 4从键盘输入三个数,要求按照由小到大的顺序输出。(5 分)参考答案:1. #include #include void main() int m,i,k
13、; scanf(“ %d ” ,&m) ;k=sqrt(m); for(i=2; i=k+1)printf(“ %d is a prime number.n” ,m);else printf(“ %d is notn” ,m); 2. #include void main() int i,n=2,k=1; float sum=0; for(i=1; i20; i+) sum=sum+n/(float)k;printf(%fn,sum); k=n; n=n+i; printf(%fn,sum); 3. #include void main() int i; char str8= *, *, *,
14、*; for(i=0; i=3; i+) printf(%sn,stri); 4#include #include void main() 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 5 页 - - - - - - - - - int a,b,c,k; scanf(%d%d%d,&a,&b,&c); if(ab) k=a;a=b;b=k; if(ac) k=a;a=c;c=k; if(bc) k=b;b=c;c=k; printf(%d %d %dn,a,b,c); 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 5 页 - - - - - - - - -