C语言试卷

合集下载

C语言测试试卷

C语言测试试卷

一、选择题1.下列选项中,合法的C语言关键字是:DA)V AR B)cher C)integer D)default2.C语言中的标识符只能由字母、数字和下画线组成,且第一个字符 C A)必须为字母B)必须为下划线C)必须为字母或下画线D)可以是字母、数字或下画线中任一种3.在逻辑运算中逻辑运算符按以下优先次序排列 CA)||(或)&&(与)!(非)B)!(非)||(或)&&(与)C)!(非)&&(与)||(或)D)&&(与)!(非)||(或)4.若变量c为char类型,能正确判断出c为小写字母的表达式是 DA)’a’<=c<=’z’B)(c>=’a’)||(c<=’z’)C)(‘a’<=c)and(‘z’>=c) D)(c>=’z’)&&(c<=’z’)5.以下程序段的输出结果是 Cint x=3;do {printf(“%d”,x-=2);} while(!(--x));A)1 B)3 0 C)1 -2 D)死循环6.设a和b均为double型变量,且a=5.5,b=2.5,则表达式(int)(a+b/b)的值是BA)6.500000 B)6C)5.500000 D)6.0000007.以下选项中不属于C语言的类型的是 DA)signed short intB)unsigned long intC)unsigned intD)long short8.以下变量名全部合法的是 AA)ABC、L10、a_b、_a1B)?123、print、*p、a+bC)_12、Zhang、*p、11FD)Li_Li、P、for、1019.以下选项中合法的长整型常量是:CA)5E2.0 B)E-3 C)2E0 D)1.3E10.C语言中规定,在一个源程序中main函数的位置 CA)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后11.请在下列选项中选出合法的C语言赋值语句 B A)a=b=58 B)i++;C)a=58,b=58 D)k=int(a+b);12.以下整数值中,不正确的十六进制数是 BA)0xffff B)oxccC)-0x123 D)0x1613.以下程序的输出结果是 A#include <stdio.h>main( ){int i;for(i=1;i<=5;i++){if(i%2) printf(“*”);else continue;printf(“#”);}printf(“$\n”);}A)*#*#*#$ B)#*#*#*$ C)*#*#$ D)#*#*$14.有以下程序#include <stdio.h>main( ){ int c;while((c=getchar())!=’\n’){switch (c-’2’){case 0:case 1:putchar(c+4);case 2:putchar(c+4);break;case 3:putchar(c+3);case 4:putchar(c+2);break;}}printf(“\n”);}从第一列开始输入以下数据,<CR>代表一个回车符2743<CR>程序的输出结果是 AA)66877 B)668966C)6677877 D)668876615.若执行以下程序时从键盘上输入9,则输出结果是 B main(){int n;scanf(“%d”,&n);if(n++<10) printf(“%d\n”,n);else printf(“%d\n”,n--);}A)11 B)10 C)9 D)816.设j为int型变量,则下面for循环语句的执行结果是 B for(j=10;j>3;j--){ if(j%3) j--;--j;--j;printf(“%d”,j);}A)6 3 B)7 4 C)6 2 D)7 317.下面正确的二维数组定义是 BA)int a[2][ ]={{1,2},{2,4}};B)int a[ ][2]={1,2,3,4};C)int a[2][2]={{1},{2},{3}};D) int a[2][ ]={{1,2},{3,4}};18.以下程序的输出结果是 Cmain(){ int a=5, b=4, c=6, d;printf(“%d\n”,d=a>b?(a>c?a:c):(b));}A)5 B)4 C)6 D)不确定19.TURBO C中int类型变量所占的字节数是 BA)1 B)2 C)3 D)420.以下选项中合法的用户标识符是 BA)long B)_2Test C)3Dmax D)A.dat21.下面选项中正确的是 CA)char str[12]; str=”xuesheng”;B)char str[12]; str={”xuesheng”};C)char str[12] =”xuesheng”;D)char str[12] =”xueshengnihao”;22.以下程序的输出结果是 Amain(){ int x=3, y=10 ;printf(“%d\n”, y=x/y) ;}A)0 B)1 C)3 D)不确定的值23.C语言程序中,main( )的位置 CA)必须作为第一个函数B)必须作为最后一个函数C)可以任意D)必须放在它所调用的函数之后24.以下程序的输出结果是 Amain(){ int a=4,b=5,c=0,d;d= !a && !b || !c;printf(“%d\n”,d);}A)1 B)0 C)非0的数D)-125.下列叙述中,错误的是 AA)主函数中定义的变量在整个程序中都是有效的B)复合语句中定义的变量只在该复合语句中有效C)其他函数中定义的变量在主函数中不能使用D)形参是局部变量26.若程序中定义了以下函数:Adouble myadd(double a,double b){return (a+b);}并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是A)double muadd(double a,b);B)double myadd(double,double);C)double myadd(double b,double a);D)double myadd(double x,double y);27.下面的函数定义正确的是 AA)float fun(float x;float y){return x*y;}B)float fun(float x,y){return x*y;}C) float fun(x,y) {int x,y;return x*y;}D) float fun(int x,int y){return x*y;}28.有以下程序:char fun(char x, char y){if (x<y) return x;return y;}main( ){int a=’9’,b=’6’,c=’7’;printf(“%c\n”,fun(fun(a,b),fun(b,c)));}程序的执行结果是 DA)函数调用出错B)8 C)9 D)729.假定a和b为int型变量,则执行以下语句后,b的值是 Da=1;b=10;do{b - =a;a++;}while(b--<0);A)9 B)-2 C)-1 D)830.若有以下定义和语句:#include <stdio.h>main( ){char *s1=”12345”,*s2=”1234”;printf(”%d\n”,strlen(strcpy(s1,s2)));}则输出结果是 AA)4 B)5 C)9 D)1031.以下程序的输出结果是 Bf ( int b[ ],int n){ int i,r=1;for ( i=0; i<=n; i++) r=r*b[i];return r;}main(){ int x,a[ ]={2,3,4,5,6,7,8,9};x=f (a,3);printf(“%d\n”,x);}A)720 B)120 C)24 D)632.有以下程序段:int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=&a[3],b;b=p[5];b中的值是 DA)5 B)6 C)8 D)933.有以下程序:main( ){char *p[10]={“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”}; printf(“%d\n”,strlen(p[4]));}执行后输出结果是 AA)2 B)3 C)4 D)534.有以下定义:#include <stdio.h>char a[10],*b=a;不能给数组a输入字符串的语句是 BA)gets(a); B)gets(a[0]);C)gets(&a[0]); D)gets(b);35.以下程序的运行结果是 A#include <stdio.h>main( ){int a[ ]={1,2,3,4,5,6,7,8,9,10,11,12};int *p=a+5,*q=NULL;*q=*(p+5);printf(“%d %d \n”,*p,*q);}A)运行后报错B)6 6 C)6 12 D)5 536.设有以下语句:char str1[ ]=”string”,str2[8],*str3,*str4=”string”;则下面选项 C 不是对库函数strcpy的正确调用,此库函数用于复制字符串A)strcpy(str1,”HELLO1”);B)strcpy(str2,”HELLO2”);C)strcpy(str3,”HELLO3”);D)strcpy(str4,”HELLO4”);37.以下for语句构成的循环执行了 C 次#define N 2#define M N+1#define NUM (M+1)*M/2main( ){int i,n=0;for(i=1;i<NUM;i++){n++;printf(“%d”,n);}printf(“\n”);}A)5 B)6 C)8 D)938.以下程序的输出结果是 CA)11 B)20 C)21 D)31func( int a, int b){ int c;c=a+b;return c;}main(){ int x=6,y=7,z=8,r ;r=func ((x--, y++, x+y), z--);printf(“%d\n”,r);}39.对于字符串的操作,下列说法中正确的是 CA)可用赋值表达式对字符数组赋值,如char str[20];str=”aaaa”;B)若有字符数组a和b,且a>b,则strcmp(a,b)为非负数C)可用strcpy函数进行字符串的复制完成字符数组的赋值D)字符串”aaaa”在内存中占用4个字节长度40.下列选项中,关于数组的说法错误的是 BA)必须先定义,后使用B)定义数组的长度可以用一个已经赋值的变量表示C)数组元素引用时下标从0开始D)数组中的所有元素必须是同一种数据类型二、填空题1. 已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符’\101’是( A )2. 设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(6.000000)3. ’a’在内存中占( 1 )个字节4. 设x和y均为int型变量,则执行下面循环后,y值为( 6 )for(y=1,x=1;y<=50;y++){if(x>=10) break;if(x%2= =1) {x+=5;continue;}}5. 以下循环体的执行次数是( 1 )main( ){int i,j;for(i=0,j=1;i<=j+1;i+=2,j--)printf(”%d\n”,i);}6. 若有定义:int a=8,b=5,c;执行语句c=a/b+0.4后,c的值为( 1 )7. 已有定义:int x=3,y=4,z=5;则表达式!(x+y)+z-1&&y+z/2的值是( 1 )8. 设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是( -12 )9. 设x、y、t均为int型变量,则执行语句:x=y=3; t=++x||++y;后,y的值为( 9 )10. 将下列数学式改写成C语言的表达式(x= =y&&x<z ) x=y且x<z11. 设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)&&(n=c>d)后n的值为( 2 )12. 以下的for循环执行( 4 )次for(x=0,y=0;(y!=123)&&(x<4);x++);13. 已知i,j,k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1,j的值为2,k的值为3,正确的输入语句是(scanf(“%d,%d,%d”,&I,&j,&k); )14. 若输入字符A,在以下while 语句执行后ch 的值是( 1 )while (ch = getchar( ) = = ‘A’);15. ”a”在内存中占( 2 )个字节16. 执行语句for(i=1;i++<4;);后,变量i的值是( 4 )17.C语言中形参的默认存储类别是(auto )18.若有定义: char ch; 使指针p 指向变量ch 的语句是(char *p=&ch ;)19.在函数调用语句f(f(x,y),z=x+y,(x,y));中,实参的个数是( 3 )20.若有定义: char ch; 且指针p已指向ch,通过指针p 给变量ch 赋值’a’的语句是(*p=’a’; )三、程序分析题1.main( ){int a=5,b=4,c=6,d;printf(“%d\n”,d=a>b?(a>c?a:c):(b));}答:62.main( ){int k=2,i=2,m;m=(k+=i*=k);printf(“%d,%d\n”,m,i);}答:6,43.#include <stdio.h>main( ){int i;for(i=1;i<=5;i++)switch(i%5){case 0:printf(“*”);break;case 1:printf(“#”);break;default:printf(“\n”);case 2:printf(“&”);}}答:#&&&*4.main( ){char c=’z’;printf(“%c”,c-25);}答:a5.main( ){int i=1,j=1,k=2;if((j++||k++) && i++)printf(“%d,%d,%d\n”,i,j,k);} 答:2,2,26.main(){ int i=1, j=3 ;printf(“%d\n”,i++);{ int i=0;i+=j*2;printf(“%d,%d,”,i,j );}printf(“%d,%d\n”,i,j );}答:1,6,3,2,37.main(){ int x= 15 ;while (x>10 && x< 50){ x++;if( x/3 ) {x++; break; }else continue;}printf(“%d\n”,x);}答:178.main( ){int i,j,a=0;for(i=0;i<2;i++){for(j=0;j<=4;j++){if(j%2) break;a++;}a++;}printf(“%d\n”.a);}答:49.#include <stdio.h>main( ){int a=2,c=5;printf(“a=%%d,b=%%d\n”,a,c);} 答:a=%d,b=%d10.#include <stdio.h>int isprime(int m){int i;for(i=2;m%i!=0;i++)return(i= =m);}main( ){int m=5;while(isprime(m)){printf(“yes!%d\n”,m);m++;}printf(“not!%d\n”,m);}答:yes!5not!611.main(){ int i=2,x=5,j=7;fun(j,6);printf(“i=%d;j=%d;x=%d\n”,i,j,x);}fun( int i,int j){ int x=7;printf(“i=%d;j=%d;x=%d\n”,i,j,x);}答:i=7;j=6;x=7i=2;j=7;x=512.#include <stdio.h>int m=1;int fun(int m){int n=1;static int i=1;n++;i++;return m+n+I;}main( ){int i;for(i=1;i<3;i++)printf(“%4d”,fun(m++));printf(“\n”);}答: 5 713.main(){int a=4,b=5,c=0,d;d=!a&&!b||!c;printf(“%d\n”,d);}答:114.double sub(double x,double y,double z) { y-=1.0;z=z+x;return z;}main(){ double a= 2.5,b = 9.0;printf ( “%f\n”,sub(b-a, a, a ) );}答:9.000000。

C语言试卷及答案

C语言试卷及答案

一、选择题。

(每空2分,共计40分)本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷第一部分:基础知识(20项,共40分)1.一个C语言程序是由(C )组成的。

A.主程序B.子程序C.函数D.过程2.转换说明符%x的输出形式是(C )。

A.十进制B.八进制C.十六进制D.二进制3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b)printf ( “------------“) ;的正确说法是(C )。

A.循环体只执行一次B.死循环C.循环体一次也不执行D.输出----------- 4.若x、y、z均为int 型变量,则执行下列语句后的z值为( A )。

x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;A.1 B.4 C.2 D.35.下面标识符中,合法的用户标识符为(D )。

A.P#Ad B.12a C.char D._int6.‘A’+ 3 的结果是( B )。

A.’A’B.’D’的ASCⅡ码C.65 D.3 7.语句char str[20];说明str是一个字符串,最多能表示( B )。

A.20个字符B.19个字符C.18个字符D.21个字符8.将int 型变量n转换成float型变量的方法是( B )。

A.float n B.(float)n C.float(n) D.21个字符9.以下不正确的描述是( C )。

A.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成B.while循环是先判断表达式后执行循环体语句C.do-while和for循环均是先执行循环体语句,后判断表达式D.for、while、do-while循环中的循环体均可以由空语句构成10.在循环中使用break 语句的功能是( A )。

A.使程序的执行跳出break所在的那一重循环B.使程序执行结束C.跳出包含此break语句的所有循环D.终止本次循环,继续下次循环11.下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是(C )。

C语言模拟试卷及答案

C语言模拟试卷及答案

《C语言程序设计》考试试卷(答案)一、填空题(每小空1分,共10分)1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。

2.一个C程序有且仅有一个main( )函数.3.C语言描述“x和y都大于或等于z"的表达式是x〉=z && y〉=z。

4.C语言可以用来实现循环的结构化语句是while、do while、for。

5.数组名表示数组在内存的首地址.6.int a=3,*p=&a;*p+2的值是5。

二、单项选择题(每小题2分,共70分)1._____是C语言合法的标识符。

(A)3_sy45 (B)su_m (C)@123 (D)3D642.一个程序的执行是从.(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束.(C)本程序的main函数开始,到本程序文件的最后一个函数结束.(D)本程序文件的第一个函数开始,到main函数结束。

3.以下叙述正确的是。

(A)在C程序中,main函数必须位于程序的最前面.(B)C程序每行中只能写一条语句.(C)C语言本是没有输入输出语句。

(D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误.4.以下叙述不正确的是。

(A)逗号运算符的运算级最低。

(B)ABC和abc是两个不同的变量。

(C)若a和b类型相同,在执行a=b后,b的自身值不变。

(D)‘a’和“a”是完全等价的常量。

5.int x=3,y=2;则表达式x+=x*=y+8的值为。

(A)28 (B)30 (C)60(D)176.在c语言中,变量的隐含存储类别是。

(A)auto(B)static (C)extern (D)无存储类别7.执行下面两个语句后,输出的结果为_____。

char c1=98;printf(“%d %c”,c1,c1—32);(A)97 66 (B)98 b (C)b 66 (D)98 B8.执行下面语句后的结果为.y=10;x=y++;(A)x=10,y=10 (B)x=11,y=11 (C)x=10,y=11 (D)x=11,y=109.char w;int x;float y;double z;则表达式w*x+z—y值的数据类型是。

(完整版)C语言试卷及答案

(完整版)C语言试卷及答案

(完整版)C语言试卷及答案一、选择题(每题2分,共40分)1、C语言源程序的基本单位是( )A.程序行B.语句C.函数D.字符2、C语言规定:在一个源程序中,main函数的位置()。

A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后3、在下列字符列中,合法的标识符是( )A.p12&.aB.stud_100C. water$12D.88sum4、在C语言中,要求运算的数必须是整数的运算符是()A./B.!C.%D.= =5、设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a 的值是()A、3B、0C、9D、-126、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a > b)&&(n=c>d)后n的值为()A、1B、2C、3D、47、执行下列程序时输入:1234567,程序的运行结果是()main(){int x,y;scanf(“%2d%*2c%1d”,&x,&y);printf(“%d\n”,x+y);}A.17B.46C.15D.98、下述程序的输出结果是() #includevoid main(){int x=-1,y=4;int k;k=++x<=0&&!(y--<=0);printf("%d,%d,%d",k,x,y);}A.0,0,3B.0,1,2,C.1,0,3,D.1,1,29、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。

A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if10、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()main(){int x;scanf(“%d“,&x);if(x++>5)printf(“%d”,x);else printf(“%d\n”,x--);}A.7和5B.6和3C.7和4D.6和411、若变量c为char类型,能正确判断出c为小写字母的表达式是( )A. 'a'<=c<= 'z'B. (c>= 'a')||(c<= 'z')C. ('a'<=c)and ('z'>=c)D. (c>= 'a')&&(c<= 'z')12、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是。

C语言试卷01

C语言试卷01

C语言试题(一)1.下列关于C语言用户标识符的叙述中正确的是______。

A. 用户标识符中可以出现下划线和中划线(减号)B. 用户标识符中不可以出现中划线,但可以出现下划线C. 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D. 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头2.以下叙述不正确的是A. 一个C源程序可由一个或多个函数组成B. 一个C源程序必须包含一个main函数C. C程序的基本组成单位是函数D. 在C程序中,注释说明只能位于一条语句的后面3.下面能正确进行字符串赋值操作的语句是A.char s[5]={"ABCDE"};B.chars[5]={'A','B','C','D','E'};C.char *s;s="ABCDEF";D.char *s; scanf("%s",s);4.下列叙述中正确的是A. C语言编译时不检查语法B. C语言的子程序有过程和函数两种C. C语言的函数可以嵌套定义D. C语言的函数可以嵌套调用5.以下程序输出的结果是____。

main( ){ float a=5,b=4,d;d=(a>b);printf("%d\n",d);}A. 1B. 0C. 1.0D. 46.设int a=5,b=6,表达式(b--==6)?++a:--b的值是___A. 5B. 6C. 7D. 47.设i,j,k均为int型变量,则执行完下面的for语句后,k的值为___ 。

for(i=0, j=10; j>=i; i++, j--)k=i+j;A. 10B. 20C. 8D. 08.能正确表示逻辑关系:"1≤a≤9"的C语言表达式是A. a>=1 or a<=9B. a>=1且a<=9C. a>=1&&a<=9D. 1≤a≤99.有以下程序main(){int i=0,k=2;if(++i)printf("%d",k);else printf("%d",-k)}执行后输出结果是A. -2B. 2C. 0D. 110.执行下面的程序段后,变量k中的值为int k=3, s[2];s[1]=k; k=s[1]*10;A.不定值 B.33 C.30 D.10 11.若有以下说明和语句,则输出结果是______。

C语言程序设计试卷及答案

C语言程序设计试卷及答案

C语言程序设计试卷及答案(总14页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--2C 语言程序设计 笔试试题题号 一 二 三 四 五 六 笔试(70%) 综合 (30%) 总分分数试卷说明:1. 笔试卷面总分100分,取卷面成绩的70%计入总分;2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸;4. 答题时间120分钟。

一、单项选择题。

将正确答案填入下面框中。

(本题16分,每小题1分) 题号 1 2 3 4 5 6 7 8 答案 题号 9 10 11 12 13 14 15 16 答案1. 有以下程序 main() {int a=1,b=0; if(!a) b++;else if(a==0) if(a) b+=2; else b+=3;printf(“%d\n ”,b); }则程序输出( A )。

A) 0B) 1C) 2D) 32. 有以下定义:int a; long b; double x,y;则下列正确的是( A )。

A) a%(int)(x-y)B) a=x!=y C) (a*y)%b D) y=x+y=x号学名姓注意行为规范 遵守考试纪律3. 若有定义 int (*p)[3];则下列说法正确的是( C )。

A) 定义了基类型为int的三个指针变量B) 定义了一个名为 *pt、具有三个元素的整型数值C) 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组D) 定义了基类型为int的具有三个元素的整型数组4. 有以下程序段main(){ int x=10;while(x--);printf("x=%d\n",x);}则最后的输出结果是:( B )。

A) x=0 B) x= -1 C) x=1 D)while构成无限循环5. 有以下程序:int fun(){static int x=1;x *= 2;return x;}main( ){ int i,s=1 ;for(i=1 ;i<=2 ;i++) s=fun() ;printf(“%d\n ”,s) ;}执行后的输出结果为( D )。

2024年6月青少年软件编程C语言等级考试试卷一级真题

2024年6月青少年软件编程C语言等级考试试卷一级真题

2024年6月青少年软件编程C语言等级考试试卷一级真题分数:100 题数:51.奇迹(20分)。

经典电影《阿甘正传》有句台词,说:(奇迹每天都发生)。

本题就请你直接在屏幕上输出这句话。

输入:本题没有输入。

输出:在一行中输出。

样例输入:无。

样例输出:2.九牛一毛(20分)。

这是一道脑筋急转弯题:猪肉一斤15元,鸡肉一斤20元,那么一毛钱能买多少头牛?答案是:9——因为“九牛一毛”。

本题就请你按照这个逻辑,计算一下N块钱能买多少斤猪肉、多少斤鸡肉、多少头牛。

输入:输入在一行中给出一个不超过1000的正整数N,即以“元”为单位的货币量。

输出:在一行中顺序输出N块钱能买多少斤猪肉、多少斤鸡肉、多少头牛。

三个数字都取整数,其间以1个空格分隔,行首尾不得有多余空格。

样例输入:样例输出:3.题A除以B(20分)。

给定两个绝对值不超过100的整数A和B,要求你按照“A/B=商”的格式输出结果。

输入:输入在第一行给出两个整数A和B(-100≤A,B≤100),数字间以空格分隔。

输出:在一行中输出结果:如果分母是正数,则输出“A/B=商”;如果分母是负数,则要用括号把分母括起来输出;如果分母为零,则输出的商应为“Error”。

输出的商应保留小数点后2位。

4.进化论(20分)。

在“一年一度喜剧大赛”上有一部作品《进化论》,讲的是动物园两只猩猩进化的故事。

猩猩吕严说自己已经进化了9年了,因为“三年又三年”。

猩猩土豆指出“三年又三年是六年呐”。

本题给定两个数字,以及用这两个数字计算的结果,要求你根据结果判断,这是吕严算出来的,还是土豆算出来的。

输入:输入第一行给出一个正整数N,随后N行,每行给出三个正整数A、B和C。

其中C不超过10000,其他三个数字都不超过100。

输出:对每一行给出的三个数,如果C是A×B,就在一行中输出“Lv Yan”;如果是A+B,就在一行中输出“Tu Dou”;如果都不是,就在一行中输出“zhe du shi sha ya!”。

c语言试卷集(10套)-试题及答案

c语言试卷集(10套)-试题及答案

c语言试卷集(10套)-试题及答案C语言试卷集(10套)-试题及答案试卷一一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“真”的值是()。

A. 0B. 1C. -1D. 任意非零值答案:B2. 下列哪个选项是C语言中的合法变量名?()A. 2variableB. variable2C. variable_2D. variable!答案:C3. C语言中,用于定义一个整型数组的语句是()。

A. int array[10];B. int [10] array;C. int 10 array;D. int array=10;答案:A4. 下列哪个选项是C语言中的合法字符串常量?()A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A5. C语言中,用于表示逻辑“假”的值是()。

A. 0B. 1C. -1D. 任意非零值答案:A6. 下列哪个选项是C语言中的合法浮点数常量?()A. 3.14B. 314.C. .314D. 3.14E答案:A7. C语言中,用于定义一个整型变量的语句是()。

A. int x;B. var x;C. x int;D. int = x;答案:A8. 下列哪个选项是C语言中的合法字符常量?()A. 'A'B. "A"C. 'AB'D. "AB"答案:A9. C语言中,用于定义一个字符数组的语句是()。

A. char array[10];B. char [10] array;C. char 10 array;D. char array=10;答案:A10. C语言中,用于表示字符常量的是()。

A. 'A'B. "A"C. AD. "A"答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量并初始化为0的语句是()。

C语言试卷(含答案)

C语言试卷(含答案)

一、单项选择题(每小题2分,共40分)1、sizeof(float)是()A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100和分别赋给i和f,则正确的输入为()。

A. 100B. i=100,f=765.12C. 100<回车>D. x=100y=3、#include<>voidmain(){inta=3,b=2,c=1;intx=10,y=20;if(a<b)if(b!=0)if(!x)y=1;elseif(x)y=0;y=-1;printf("%d",y);}上面的C程序的输出结果是()。

A. 20B. 1C. 0D. -14、C语言中,while和do…while循环的主要区别是()。

A. do…while的循环体至少无条件执行一次B. while的循环控制条件比do…while的循环控制条件严格C. do…while允许从外部转到循环体内D. do…while的循环体不能是复合语句5、执行下面的C程序段后,输出结果是()。

inta=5;while(a--);printf("%d",a);A. 54321B. 4321C. 0D. -16、在C语言中,()是在所有函数外部声明的。

A. 全局变量B. 局部变量C. 形参D.实参7、分析下面的C程序:#include<>voidmain(){intnum=0;while(num<=2){num++;printf("%d",num);}}输出结果是()。

A. 123B. 012C. 23D. 128、下面的C语言代码段的输出结果是()。

c语言试卷

c语言试卷

一、选择题(请选择一个最合适的答案填在题前面的括号中,每题 2 分, 15题,计 30 分)1、一个 C 程序的执行是从( A)A、main ()函数开始,直到 main ()函数结束B、第一个函数开始,直到最后一个函数结束C、第一个语句开始,直到最后一个语句结束D、main ()函数开始,直到最后一个函数结束2、下列符号可以作为变量名的是 ( C )A、+aB、*pC、_DAYD、next day3、若定义 int m=7,n=12; 则能得到值为 3 的表达式是( D )A、n%=(m%=5)B、n%=(m-m%5)2C、n%=m-m%5D、(n%=m)- (m%=5)54、为了避免嵌套的 if-else 语句的二义性, C 语言规定 else 总是与 (C ) 组成配对关系A、缩排位置相同的 ifB、在其之前未配对的 ifC、在其之前最近的未配对的 ifD、同一行上的if5、以下叙述中正确的是(A )A、函数的定义不可以嵌套,但函数的调用可以嵌套B、函数的定义可以嵌套,但函数的调用不可以嵌套C、函数的定义和调用都可以嵌套D、函数的定义和调用都不可以嵌套6、已知大写字母 A 的 ASCII 码值是 65,小写字母 a 的 ASCII 码是 97,则用八进制表示的字符常量‘\103’是 ( C )A 、AB 、BC 、CD 、D7、下列语句段中不是死循环的是( B )A、for (i=1;;i++)B、 i=100;Sum=sum+1; while(1){i=i%100+1;if(i==20)break;}D、s=3379;while (s++%2+3%2)s++;++k;} while (k<=0)8、以下关于字符数组的描述中错误的是( C)A、字符数组可以存放字符串B、字符数组中的字符串可以整体输入和输出C、可以在赋值语句中通过运算符“ = ”对字符数组整体赋值D、不可以用关系运算符对字符数组中的字符进行比较9、在定义了数组 int a[3][6];后,第 10 个元素是 BA、a[2][4]B、a[1][3]C、a[3][1]D、a[4][2]10、有以下程序#include "stdio.h"#include "string.h"main(){char s[]="sb\n\\\'\r\b";printf("%d,%d\n",sizeof(s),strlen(s));A}A 、8 ,7B 、8 ,8C 、7 ,8D 、7 ,711、在 C 语言的程序中,下列叙述错误的是( D)A、形参是局部变量B、不同的函数中,可以使用相同名称的变量C、在一个函数的内部,可以在复合语句中定义变量D、main ()函数中定义的变量在整个文件或程序中都有效12、C 语言中规定函数的返回值的类型是由( D )A、return 语句中的表达试类型所决定B、调用该函数时的主调用函数类型所决定C、调用该函数时系统临时决定D、在定义该函数时所指定的函数类型所决定13、已知变量 a 被定义为 int 型变量,以下定义并初始化指针变量 p 的语句中正确的是(D)A、int p=a;B、int *p=*a;C、int p=&a;D、int *p=&a;题号一二三四总分得分C、k=0;do{14、若有定义 char s[3][4];以下对数组元素 s[i][j]的各种引用形式中错误的是 ( A )A、*(s[i]+j)B、*(s+i)+jC、s[i][j]D、*(*(s+i)+j)15、下面提供的一组函数中,用于按“记录”的方式进行输入和输出的是( C )B、fscanf(),fprintf()D、fgetc(),fputc()二、填空题(每题 2 分, 10 题,计 20 分)1、c 语言的语句必须以_____;_______结尾,C 语言中可以利用______强制类型转换_______将一个表达式的值转换成指定的类型。

c语言试卷

c语言试卷

c语言试卷(总9页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--;C 语言程序设计测试题姓名:成绩:一.填空:15 分1.在 scanf 函数的格式控制串中,转换说明符2.C 语言程序都是从3.函数体用4.c 语句都用5.标准库函数6.转义序列\n 表示、和函数开始执行。

结束。

结束。

在屏幕上显示信息。

符,它把光标定位在屏幕下一行的开始位置。

和_____。

开始,用表示要输入一个整数。

7. 所有的程序都可以用三种控制结构编写。

这三种控制结构是8.用花括号组合在一起的多个语句称为9.10. 存储类别说明符有 auto、、循环结构在条件为真时反复执行一条语句或一组语句。

二.判断下述说法是否正断。

如不正确,说明理由,20 分。

1. printf 函数总是从新行的起始位置开始打印。

( )2. 计算机会把/*和*/之间的注释文本打印到屏幕上。

( )3. 在 printf 函数的格式控制串中使用转义序列\n 会把光标定位到屏幕上下一行的开始位置。

( )4. 所有的变量在使用前都必须予以声明。

( )5. 在声明变量时必须给出变量的类型。

( )6. C 语言认为变量 number 和 NuMbEr 是相同的。

()7. 声明语句可放在函数体中的任何位置。

()8. printf 函数的格式控制串之后的所有参数的前面都必须有&。

()9. 求余运算符%只能用于两个整数操作数。

()10. 算述运算*、/、+和一具有相同的优先级。

()三、选 择 题 , 30 分。

1. 在 C 语言中,不同类型数据混合运算时,要先转换成同一类型后进行运算。

设 一表达式中包含有 int 、long 、unsigned 、char 类型的变量和数据,则表达式最 后的运算结果是 A 、 intB 、 char类型数据。

C 、 unsignedD 、 long。

D 、 -1,655352. 若 int 型数据占 2 个字节,则以下语句的输出为int k=-1; A 、 -1,-1printf(“%d,%u \n”,k,k); B 、 -1,32767C 、 -1,327683. 若 a, b 均为 int 型变量,x, y 均为 float 型变量,正确的输入函数调用 是。

C语言试卷(含答案)

C语言试卷(含答案)

C语言试卷(含答案)一、单项选择题(每小题2分,共40分)1、sizeof(float)是()A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100和分别赋给i和f,则正确的输入为()。

A. 100B. i=100,f=765.12C. 100<回车>D. x=100y=3、#include<>voidmain(){inta=3,b=2,c=1;intx=10,y=20;if(a<b)< p="">if(b!=0)if(!x)y=1;elseif(x)y=0;y=-1;printf("%d",y);}上面的C程序的输出结果是()。

A. 20B. 1C. 0D. -14、C语言中,while和do…while循环的主要区别是()。

A. do…while的循环体至少无条件执行一次B. while的循环控制条件比do…while的循环控制条件严格C. do…while允许从外部转到循环体内D. do…while的循环体不能是复合语句5、执行下面的C程序段后,输出结果是()。

inta=5; while(a--);printf("%d",a);A. 54321B. 4321C. 0D. -16、在C语言中,()是在所有函数外部声明的。

A. 全局变量B. 局部变量C. 形参D.实参7、分析下面的C程序:#include<>voidmain(){intnum=0;while(num<=2){num++;printf("%d",num);}}输出结果是()。

A. 123B. 012C. 23D. 128、下面的C语言代码段的输出结果是()。

3套 《C语言程序设计》试卷+参考答案

3套 《C语言程序设计》试卷+参考答案

一、选择填空:(每题1.5分,共15分)1.以下可以正确表示字符型常数的是。

(A) “a”(B) ‘297’ (C) ‘\t’ (D)“\n”2. typedef struct{ char name[10];int age;char interests[20];} student;以上语句中 student 是:(A)结构体变量,有存储空间 (B)结构体数据类型,无存储空间(C)结构体变量,无存储空间 (D)结构体数据类型,有存储空间3.函数:void f(void){int i = 12, j;for(j=0; j<20; j++)i++;}当f执行完退出后,i的值为_____ _____(A) 12 (B) 32 (C) 29 (D) 无定义4.若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是(A)*p+6 (B)*(p+6) (C)*p+=5(D)p+55.以下代码执行后,result的值为:#define FIVE 2+3result = FIVE * FIVE(A) 11 (B) 13 (C) 25 (D)106.已知函数定义的形式如下:struct data *f(void){……}则函数f:(A) 没有参数,返回值是一个结构体(B)有一个参数void, 返回值是一个结构体(C)没有参数,返回值是一个结构体指针(D)有一个参数void, 返回值是一个结构体指针7.下列说法中,不正确的是_ ____(A)函数中可以没有return语句。

(B)所有的函数都不能嵌套定义,但可以相互调用。

(C)函数的实参应与其对应的形式参数类型一致。

(D)函数可以不加函数返回值类型标识符。

8.一个C程序的执行是。

(A)从本程序的main函数开始,到main函数结束(B)从本程序文件的第一个函数开始,到本程序文件最后一个函数结束(C)从本程序的main函数开始,到本程序文件的最后一个函数结束(D)从本程序文件的第一个函数开始,到本程序的main函数结束9.在C语言的算术运算符中只能用于整型数的运算符是(A)* (B)/ (C)++ (D)%10 在下列选项中,没有构成死循环的程序段是(A)int i=100;while (1) {i=i%100+1;if(i>=100) break;}(B)for(;;);(C)int k=1000;do{++k;} while (k>=1000);(D)int s=36while(s); --s;二、写出下列程序的运行结果:(共35分)1.(8分)int funa(int *a) { a[0] ++; }int funb(int b[]) { b[1] += 5; }main(){int a[5] = {2,3,4,5,6};int b[5] = {2,3,4,5,6};int *p, i;p = &a[0];(*p)++;funb(p);for(i = 0; i <5; i++)printf("%d,",a[i]);p = &b[1];funa(p);funb(p);for(i = 0; i < 5; i++)printf("%d,",b[i]);}运行结果:2、(6分)main(){char a[]="programming", b[]="language";char *p1,*p2;int i;p1=a; p2=b;for(i=0; *(p1+i)!=’\0’&&*(p2+i)!=’\0’;i++)if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i)); }运行结果是:3、(8分)int f(int n){if (n==1){return 1;}else{return 2 * f(n/2);}}运行结果: f(20)的值是多少?4、(6分)void change (int *a, int *b){int x =* a;*a = *b; *b = x;printf(“%d %d “, *a, *b)';}void main(){int x=10,y=25;change (&x, &y);printf(“%d %d “, x, y)';}运行结果:5、(5分)已知字母A的ASCII码为十进制的65,下面程序的输出是void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}答案三、程序填空(每空2分,共38分)1、下面是一个求数组元素之和的程序。

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.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语言试卷(含答案)

c语言试卷(含答案)

一、选择题(26分)1. 正确的C语言标识符是(A)。

A._buy_2 B.2_buy C.?_buy D.buy?2. 以下选项中,合法转义字符的选项是(A)。

A.’\\’ B.’\018’ C.’xcb’ D.’\ab3、下列语句中,错误的是(B )A、#define PI 3.14159B、#include <math.h>;C、if(2);D、for(;;) if(1) break;4、能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是()A、 a>=10 or a<=0B、 a>=0|a<=10C、 a>=10 &&a<=0D、 a>=10‖a<=05、以下对break语句使用的正确描述是()A、可以出现在程序中的任何位置B、只能出现在循环结构中或switch结构中C、只能出现在switch结构中D、只能出现在循环结构中6. C语言程序的基本单位是(C)。

A.程序行 B.语句 C.函数 D.字符7、已知各变量的类型说明如下:()int m=6,n, a, b;unsigned long w=8;double x=3.14, y=0.12;则以下符合C语言语法的表达式是(A)。

A.a+=a-=(b=2)*(a=8) B. n=n*3=18C.x%3 D.y=float (m)8、已有定义:char x[]=“ab”,y[ ]={‘a’,’b’ };,以下叙述中正确的是( C)A、数组x和y的长度相同B、x数组长度小于y数组长度C、x数组长度大于y数组长度D、上述说法都不对9、设有定义“int x=3,y,*p=&x”,则下列语句中使y不为3的语句是(D )A、y=*&xB、y=*pC、y=xD、y=&x10、设x、y、z均为int型变量,则执行语句:x=y=3;z=++x||++y;后,y的值为()A、不定值B、4C、3D、111.有如下程序段:int x1,x2;char y1,y2;scanf(”%d%c%d%c”,&x1,&y1,&x2,&y2);若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是(A)。

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语言试卷及答案

完整版C语言试卷及答案一、选择题部分(每题1分,共30分)1. 下列选项中,不是C语言基本数据类型的是:A. intB. doubleC. charD. boolean2. 在C语言中,以下哪个用于定义常量的关键字?A. constB. staticC. finalD. define3. 下面哪个选项是正确的C语言注释格式?A. /** 注释内容 */B. // 注释内容C. /* 注释内容 */D. # 注释内容4. 下列选项中,不是C语言的逻辑运算符的是:A. &&B. ||C. !D. %5. 在C语言中,以下哪个函数用于输出信息到屏幕上?A. scanf()B. printf()C. gets()D. puts()二、填空题部分(每题2分,共20分)1. 在C语言中,用于声明变量的关键字是_________。

2. 在C语言中,用于取一个整数的绝对值的函数是_________。

3. 下面这段代码的输出结果是_________。

```c#include <stdio.h>int main(){int a = 10;int b = 20;printf("%d + %d = %d\n", a, b, a + b);return 0;}```4. 在C语言中,用于按位取反的运算符是_________。

5. 下面这段代码的循环次数是_________。

```c#include <stdio.h>int main(){int i;for (i = 0; i < 5; i++){printf("%d ", i);}return 0;}```三、编程题部分(共50分)1. 编写一个程序,输入一个整数n(n>0),输出1到n之间的所有偶数。

2. 设计一个函数,接收两个整数参数a和b,返回它们的最大公约数。

3. 编写一个程序,实现斐波那契数列的前n项的求和。

C语言程序设计试卷含答案

C语言程序设计试卷含答案

C语言程序设计试卷含答案一、选择题(共20题,每题2分,共40分。

下面每题后面用小括号内标注了正确答案)1. 下列关键字中,用于定义变量的是(A)A. intB. ifC. whileD. for2. 变量的作用域是指变量的(C)A. 大小B. 类型C. 可访问范围D. 值3. 下列语句中,用于输出字符的是(B)A. scanfB. printfC. inputD. output4. 已知整型变量a和b,那么a += b; 等价于(D)A. a = a + b;B. a -= b;C. a = a - b;D. a = a + b;5. 在C语言中,用于表示“不等于”的运算符是(C)A. =B. ==C. !=D. >=6. 下面哪个for循环语句是正确的(A)A. for(int i=0; i<10; i++)B. for(int i<10; i++)C. for(int i=0; i<10)D. for(i=0; i<10; i++)7. 下列选项中,表示“或”运算符的是(D)A. &B. &&C. |D. ||8. 在C语言中,用于声明宏定义的关键字是(B)A. defineB. #defineC. constD. int9. 如果要判断一个整数是否为负数,正确的if条件语句是(C)A. if(n > 0)B. if(n => 0)C. if(n < 0)D. if(n <= 0)10. 下列哪个不是C语言的基本数据类型(D)A. intB. floatC. charD. string11. 下列关键字中,用于定义函数的是(C)A. mainB. includeC. voidD. for12. 在C语言中,表示“或者”的条件语句是(B)A. ifB. else ifC. switchD. while13. C语言中的“++”运算符表示(A)A. 自增B. 自减C. 相加D. 相减14. 下列哪个语句用于在C语言中声明字符类型的变量(C)A. String name;B. var name;C. char name;D. character name;15. 下列哪个不是C语言的关键字(D)A. enumB. longC. doubleD. true16. 在C语言中,用于跳出当前循环并继续执行下一次循环的关键字是(D)A. exitB. breakC. endD. continue17. 下列哪个函数用于从标准输入读取一个整数(A)A. scanfB. printfC. getsD. puts18. 在C语言中,用于声明一个指针变量的关键字是(A)A. int*B. pointC. newD. pointer19. 下列哪个运算符用于获取变量在内存中的地址(B)A. &B. *C. #D. %20. 下列哪个函数调用可以输出字符串(A)A. printf("Hello World!");B. scanf("Hello World!");C. gets("Hello World!");D. puts("Hello World!");二、填空题(共5题,每题4分,共20分。

C语言程序设计考试试卷附答案

C语言程序设计考试试卷附答案

C语言程序设计考试试卷附答案一、选择题1. 下列哪个不是 C 语言的数据类型?A. intB. charC. stringD. float答案:C2. 以下哪个关键字用于定义常量?A. constantB. varC. constD. define答案:C3. 在 C 语言的数组中,下标是从几开始的?A. 0B. 1C. -1D. 从任意整数开始答案:A4. 下面哪个运算符用于获取变量的地址?A. &B. *C. %D. #答案:A5. 下面的代码中,输出的结果是什么?```int i = 0;for (i = 0; i < 5; i++) {if (i == 3) {break;}printf("%d ", i);}```A. 0 1 2C. 0 1 2 3 4D. 0 1 2 4答案:A二、填空题1. 填写下面代码的输出结果:```char str[20] = "Hello";printf("%s", ___________);```答案:Hello2. 填写下面代码的输出结果:```int a = 10;int b = 20;int c = ___________;printf("%d", c);```三、编程题1. 编写一个程序,在屏幕上输出从 1 到 10 的所有数字。

答案:```c#include <stdio.h>int main() {int i;for (i = 1; i <= 10; i++) {printf("%d ", i);}return 0;}```2. 编写一个程序,计算从 1 到 100 所有偶数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;int i;for (i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("1 到 100 所有偶数的和为:%d", sum);return 0;}```3. 编写一个程序,实现冒泡排序算法对数组进行升序排序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择题(请选择一个最合适的答案填在题前面的括号中,每题2分,15题,计30分)1、一个C程序的执行是从( A)A、main()函数开始,直到main()函数结束B、第一个函数开始,直到最后一个函数结束C、第一个语句开始,直到最后一个语句结束D、main()函数开始,直到最后一个函数结束2、下列符号可以作为变量名的是( C )A、+aB、*pC、_DAYD、next day3、若定义int m=7,n=12; 则能得到值为3的表达式是(D )A、n%=(m%=5)B、n%=(m-m%5)2C、n%=m-m%5D、(n%=m)- (m%=5)54、为了避免嵌套的if-else语句的二义性,C语言规定else总是与(C )组成配对关系A、缩排位置相同的ifB、在其之前未配对的ifC、在其之前最近的未配对的ifD、同一行上的if5、以下叙述中正确的是(A )A、函数的定义不可以嵌套,但函数的调用可以嵌套B、函数的定义可以嵌套,但函数的调用不可以嵌套C、函数的定义和调用都可以嵌套D、函数的定义和调用都不可以嵌套6、已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\103’是( C )A、AB、BC、CD、D7、下列语句段中不是死循环的是(B )A、for (i=1;;i++)B、i=100;Sum=sum+1; while(1){i=i%100+1;if (i= =20) break;}C、k=0;D、s=3379;do while (s++%2+3%2){ s++;++k;} while (k<=0)8、以下关于字符数组的描述中错误的是(C)A、字符数组可以存放字符串B、字符数组中的字符串可以整体输入和输出C、可以在赋值语句中通过运算符“=”对字符数组整体赋值D、不可以用关系运算符对字符数组中的字符进行比较9、在定义了数组int a[3][6];后,第10个元素是BA、a[2][4]B、a[1][3]C、a[3][1]D、a[4][2]10、有以下程序#include "stdio.h"#include "string.h"main(){char s[]="sb\n\\\'\r\b";printf("%d,%d\n",sizeof(s),strlen(s));A}A、8,7B、8,8C、7,8D、7,711、在C语言的程序中,下列叙述错误的是(D)A、形参是局部变量B、不同的函数中,可以使用相同名称的变量C、在一个函数的内部,可以在复合语句中定义变量D、main()函数中定义的变量在整个文件或程序中都有效12、C语言中规定函数的返回值的类型是由(D )A、return语句中的表达试类型所决定B、调用该函数时的主调用函数类型所决定C、调用该函数时系统临时决定D、在定义该函数时所指定的函数类型所决定13、已知变量a被定义为int型变量,以下定义并初始化指针变量p的语句中正确的是(D)A、int p=a;B、int *p=*a;C、int p=&a;D、int *p=&a;114、若有定义char s[3][4];以下对数组元素s[i][j]的各种引用形式中错误的是(A )A、*(s[i]+j)B、*(s+i)+jC、s[i][j]D、*(*(s+i)+j)15、下面提供的一组函数中,用于按“记录”的方式进行输入和输出的是(C )A、fread(),fwrite()B、fscanf(),fprintf()C、fgets(),fputs()D、fgetc(),fputc()二、填空题(每题2分,10题,计20分)1、c语言的语句必须以_____;_______结尾,C语言中可以利用______强制类型转换_______将一个表达式的值转换成指定的类型。

2、利用TC或VC++6.0编辑C语言源程序,源程序的后缀为___.c______,生成的可执行程序后缀为__.obj___________。

3、有定义int a,b,c;则“a是偶数”的表达式是 __a%2==0__________,若已经知道a、b、c为正数,则a、b、c构成一个三角形的条件是_____(a+b)>c&&(a-b)<c___________________。

4、C语言中do-while 与while循环的主要区别是:do-while的循环体_______执行一次循环体,后判断表达式___________________,while语句循环体____先判断表达式,再执行循环体_________________________。

5、C语言中,一个自定义函数一般由两个部分组成,它们是___函数首部__________和____函数体________。

6、C语言中的预处理命令均以_#_______符号开头,可以出现在程序中的__任何___ 位置。

7、C语言中,将一个变量的地址称为___指针___ ,存放变量地址的变量称为____指针变量____ 。

8、若定义int (*p)( );则p是____指针___ ,而定义int * p( ); 则p是____指针函数_____ 。

9、C语言中,定义结构体类型的关键字是____ ___ ,文件(FILE)类型由系统在_______________头文件中的定义10、C语言中,用基本类型变量作为函数参数只能进行__单向___ 传值,而通过数组(指针、全局变量)等类型变量作为函数参数可以实现____双向_____ 传值。

三、阅读程序,按要求回答问题(每题3分,8题,计24分)1、以下程序的运行结果是________________________#include <stdio.h>main(){int i=5,j=6,m=i+++j;printf("%d,%d,%d\n",i,j,m);}2、下面程序的运行结果是____________ __________#include <stdio.h>main(){int x=1,y=0,a=0,b=0;switch(x){case 1:switch(y){case 0: a++; break;case 1: b++; break;}case 2:a++;b++; break;case 3:a++;b++;}printf("\na=%d,b=%d",a,b);}3、阅读下面程序,设编译后生成的可执行文件名为cfile#include <stdio.h>main(int argc,char * argv[]){while (argc>1){++argv;printf("\n%s",*argv);2--argc;}}如果在操作系统状态下,输入cfile computer C_LANGUAGE将显示如下:_____________ ____________________________4、以下程序运行时,当输入Language Programming[Enter],其结果是____________ #include <stdio.h>main(){char str[30];scanf("%s",str);printf("%s\n",str);}5、下面的自定义函数的功能是___________________________int fun(int n){ int f;if(n<0) printf("n<0,data error!");else if(n= =0||n= =1) f=1;else f=fun(n-1)*n;return(f);}6、阅读下面程序,该程序的运行结果是:#include <stdio.h>int i=1;other(){ static int a=2;static int b;int c=10;a=a+2; i=i+32; c=c+5;printf("-----OTHER------\n");printf("i:%d a:%d b:%d c:%d\n",i,a,b,c);b=a;}main(){ static int a;register int b=-10;int c=0;printf("-----MAIN------\n");printf("i:%d a:%d b:%d c:%d\n",i,a,b,c);c=c+8;other();printf("-----MAIN------\n");printf("i:%d a:%d b:%d c:%d\n",i,a,b,c);i=i+10;other();}7、设有定义:则对将stu1变量的出生月份置为12的语句是___ _________________;structstudent{ int num;char name[20];struct date{ int month;int day;int year;}birthday;}stu1;8、写出下面程序的运行结果_____________________#include "stdio.h"main(){static int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};int *arr[3]={a[0],a[1],a[2]};int i,**p;p=arr;for(i=0;i<4;i++)printf("%d ",*(*p+i));}3四、程序设计(1、2每题8分, 3题10分,3题,计26分)1、编程实现求一元二次方程ax2+bx+c=0的根。

要求:从键盘输入a、b、c的值,并把方程的根(只考虑实根)显示在屏幕上。

2、编程实现统计文本文件(file.txt)中字符的个数。

3、定义一个整型二维数组并初始化,编程求该数组所有元素的和。

要求:分别用数组下标法、一级指针法、二级指针法实现。

4一、选择题(请选择一个最合适的答案填在题前面的括号中,每题2分,15题,计30分)1A 2C 3D 4C 5A 6C 7B(B\C选择一个就算对) 8C 9B 10A 11D 12D 13D 14B 15A二、填空题(每题2分,10题,计20分)部分对酌情给分下面为参考答案,意思正确也可给分。

相关文档
最新文档