C语言模拟试卷

合集下载

C语言程序设计模拟试题1(附答案)

C语言程序设计模拟试题1(附答案)

《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是(D)。

A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是(C)。

A) MAIN B) _HJ C) 2ong D) LINE13、下列符号中用来表示C语言中的回车换行的是(B)。

A) \r B) \n C) \b D) \t4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为(B)。

A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 15、已知ch为字符型变量,下面表达式中正确的是(A)。

A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ”6、以下能正确定义一维数组的是(C)。

A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”; D) char a[5]={0,1,2,3,4,5};7、以下语句中能正确定义变量并赋初值的是(A)。

A) char c=65; B) float f=f+1.1;C) double x=12.3e3.6; D) int m=n=2.0;8、在执行下列程序时输入:1357924,则程序的运行结果为(D)。

main( ){ int x, y;scanf(“%2d%2d”,&x,&y);printf(“%2d”,x*y); }A) 13 B) 1357 C) 74 D) 7419、执行下列程序段后输出的结果是(C)。

x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *10、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是(D)A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是(A)A) 数组的首地址 B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为( A ) A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是(A)A) char s[5]={"ABCD"}; B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";14、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是(B )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是(B)int m=13;int fun( int x, int y){ int m=3;return( x*y-m); }main( ){ int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 3 D) 10二、判断(每空1分,共10分)1、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。

昆明理工大学C语言程序设计模拟试卷1,附答案

昆明理工大学C语言程序设计模拟试卷1,附答案

C语言模拟考试卷一、是非题(每小题1分,共5分)(1)若有说明:int a[][4] ={0,0}; 则二维数组a的第一维大小为1 BA)对B)错(2)判断char型变量cl是否为大写字母的正确表达式是(cl>= 'A')&&(cl<= 'Z')A A)对B)错(3)已知int a=1,b=-1; 则语句printf("%d\n", (a--, ++b)); 的输出结果是-1B A)对B)错(4)strcmp函数的功能是字符串的比较AA)对B)错(5)sizeof(float)是一个不合法的表达式BA)对B)错二、单项选择题(每小题3分,共75分)(1)下列关于C语言用户标识符的叙述中正确的是(A)。

A)用户标识符中可以出现下划线和中划线(减号)B)用户标识符中不可以出现中划线,但可以出现下划线C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头(2)下列叙述中正确的是(B)。

A)C语言的函数可以嵌套调用B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言编译时不检查语法(3)以下4个选项中,不能看做一条语句的是(D)。

A); B)a=5,b=2.5,c=3.6;C)if(a<5); D)if(b!=5)x=2;y=6;(4)以下程序段的描述,正确的是(C)。

x=-1;do{x=x*x;}while(!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误(5)已知char ch=’C’;则以下表达式的值是(D)。

ch=(ch>=’A’ && ch<=’Z’)?(ch+32):ch;A)A B)a C)Z D)c(6)执行下面的程序段后,变量k中的值为(A)。

int k=3, s[2];s[0]=k; k=s[1]*10;A)不定值B)33 C)30 D)10(7)现有如下定义:int a, b, *p, *q;,则下列赋值语句错误的是(D)。

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语言模拟试卷2(带答案)

C语言模拟试卷2(带答案)

C语⾔模拟试卷2(带答案)单选题:1、执⾏下⾯的程序段后,变量k中的值为s[0]=k; k=s[1]*10;A. 不定值B. 33C. 30D. 10答案: A2、设有以下定义:#define N 3#define Y(n) ( (N+1)*n)则执⾏语句:z=2 * (N+Y(5+1));后,z的值为_______.2*(3+(4*5+1)A. 出错B. 42C. 48D. 54答案: C3、若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是____A. 1B. 2C. 2.0D. 2.5答案: c4、请选出以下语句的输出结果____printf("%d\n",strlen("\t\ 065\xff\n"))A. 5B. 4C. 8D. 输出项不合法,⽆正常输出答案: B5、为避免嵌套的条件分⽀语句if…else的⼆义性,C语⾔规定,C 程序中的else总是与____组成配对关系。

C. 缩排位置相同的ifD. 在其之前未配对的if答案: A6、若X和Y都是int型变量,X=100,Y=200,且有下⾯的程序⽚段: printf("%d",(X,Y));上⾯程序⽚段的输出结果是A. 200B. 100C. 100 200D. 输出格式符不够,输出不确定的值答案: A7、请读程序⽚段(字符串内没有空格字符):printf("%d\n", strlen("ATS\n012\1\\"));上⾯程序⽚段的输出结果是A. 11B. 9C. 10D. 8答案: B8、设有以下程序段int x=0,s=0;while(!x!=0) s+=++x;printf("%d",s);则______A. 运⾏程序段后输出0B. 运⾏程序段后输出1C. 程序段中的控制表达式是⾮法的D. 程序段执⾏⽆限次答案: B9、阅读下列程序:main( ){ int n[3],i,j,k;for(i=0;i〈 3;i++)n[i]=0;i=1: =3 =3for (j=0;j〈 2;j++)n[j]=n[i]+1;printf("%d\n",n[1]);}下述程序运⾏后输出结果是A. 2B. 1C. 0D. 3答案: D10、输⼊⼀个华⽒温度,要求输出摄⽒温度。

C语言程序设计模拟试卷(2)

C语言程序设计模拟试卷(2)

C语⾔程序设计模拟试卷(2)模拟试卷⼀⼀、选择题(每题1分,共15分) 在每⼩题列出的四个选项中只有⼀个是符合题⽬要求的,请在正确答案前点选,错选或未选均不得分。

1. 以下选项中不合法的⽤户标识是:正确答案A. _123B. printfC. A$D. Dim2. 在C 语⾔中,char 型数据在内存中的存储形式是:正确答案A. 补码B. 反码C. 原码D. ASCII 码正确答案:D3. 设x,y,z 为int 型变量,且x=3,y=4,z=5 ,则下⾯表达式中值为0 的是:正确答案A. 'x'&&'y'B. !((xC. x||y+z&&y-zD. x<=y正确答案:B4. 若有定义:int a=2,b=4,c; 执⾏语句c=a/b+2.6 ;后,c 的值为:正确答案A. 2.6D. 2正确答案:D5. 设a 为整型变量,不能确定表达数学关系10正确答案A. 10B. a==11|| a==12|| a==13|| a==14C. a>10&&a<15D. !(a<=10)&&!(a>=15)正确答案:C6. 若i 、j 已定义为int 型,则以下程序段中语句printf( “ %d ” ,i*j); 的执⾏次数是:for (i=3;i>0;i-- )for (j=0;j<4;j++ )printf( “ %d ” ,i*j);正确答案A. 12B. 15C. 16D. 20正确答案:A7. 若有输⼊语句“ scanf( "%d%d%d",&x,&y,&z); ”,则不能使x值为5,y 值为6,z值为7的输⼊是:正确答案A. 5 ,6 ,7< 回车>B. 5 6 7< 回车>C. 5 6 < 回车> 7< 回车>D. 5< 回车> ,6< 回车> ,7< 回车>正确答案:A8.执⾏以下程序段后,x ,y 和z 的值分别是:int x=10,y=20,z=30;if(x>y) z=x; x=y; y=z;正确答案:B9. 以下程序段x = -1;do{ x=x*x;} while(!x); 正确的说法是:正确答案A. 死循环B. 循环⼀次C. 循环两次D. 有语法错正确答案:B10. 以下正确的函数声明形式是:正确答案A. double fun(int x ,int y)B. double fun(int x ;int y)C. double fun(int x ,int y) ;D. double fun(int x ,y) ;正确答案:C11.若有定义char ch[8] ,则以下表达式中不能代表数组元素ch[1] 的地址是:正确答案A. &ch[0]+1B. &ch[1]C. &ch[0]++D. ch+1正确答案:C12. 若有初始化语句“ int a[5]={1,2,3,4,5}; ”,值为4 的表达式是:正确答案:C13. 若已有以下函数定义:float fun(float a, int b){int c;c=(int)a%b;return c;}则主调函数中语句“ printf("%f",fun(fun(fun(34,7),4),3)); ”的输出结果是:正确答案A. 2.000000B. 因参数类型与形参类型不⼀致,函数调⽤产⽣错误C. 2D. 因变量c 的类型与fun 函数的返回值类型不符,故输出值为随机值正确答案:A14. 已知:int a[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+2 ;则值为3 的表达式是:正确答案A. (*p)++B. *p++C. *++pD. ++*p正确答案:B15. 以下可作为函数fopen 中第⼀个参数的正确格式是:正确答案A. c:\user\file.txtB. "c:\user\file.txt"C. "c:\\user\\file.txt"⼆、填空题(共10题)1. 字符串存储时,末尾被系统⾃动加上字符。

C语言模拟试卷 (6)

C语言模拟试卷 (6)
.
5. 以下程序段不是死循环的是( ) (2分) A.int i=100; while(1) { i=i%100+1; if(i>100) break; } B.for(;;) ; C.int k=0; do{++k;} while(k D.int s=36; while(s); --s; 标准答案:C
.
12. 当把下面4个表达式用做if语句的控制表达式时,有一个选项与其他3 个选项含义不同,这个选项是() (2分) A.k%2 B.k%2==1 C.(k%2)!=0 D.!k%2==1 标准答案:D
.
13. 下列数据类型中不属于构造类型的是( ) (2分) A.数组型 B.结构型 C.共用型 D.枚举型 标准答案:D
.
29. 下面合法的语句是( ) (2分) A.int A=8,B; B=++A++; printf("%d,%d",A,B++); B.int A; printf("\\"%d\\"",scanf("%d",&A)); C.char A; scanf("%c",&A); char B=scanf("B=%c",&B); D.char C=getchar( ); putchar((int)C); 标准答案:D
} } (2分) 标准答案:1. 8921;
.
3. 阅读下述程序 #include <stdio.h> #define N 10 main() { int i,j,k,u; int a[N]; for (i=0;i<N;i++) scanf("%d",&a[i]); for (i=1;i<N;i++) for (j=0;j<i;j++) if (a[j]<a[i]) { u=a[i]; for (k=i-1;k>=j;k--) a[k+1]=a[k]; a[j]=u; } for (i=0;i<N;i++) { printf("%5d",a[i]); if ((i+1)%5==0) printf("\n"); } } 在执行该程序时,设输入 2 74 30 17 101 81 96 35 28 19 请写出输出结果 ________________________________________________________________________ (2分) 标准答案:1. 101 96 81 74 35 30 28 19 17 2;

C语言程序设计模拟试题1(附答案)

C语言程序设计模拟试题1(附答案)

《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是(D)。

A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是(C)。

A) MAIN B) _HJ C)2ong D) LINE13、下列符号中用来表示C语言中的回车换行的是(B)。

A) \r B) \n C)\b D) \t4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为(B)。

A) 1, 1 B) 1, 2 C) 2, 2 D)2, 15、已知ch为字符型变量,下面表达式中正确的是(A)。

A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ”6、以下能正确定义一维数组的是(C)。

A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5};7、以下语句中能正确定义变量并赋初值的是(A)。

A) char c=65; B) float f=f+1.1;C) double x=12.3e3.6; D) int m=n=2.0;8、在执行下列程序时输入:1357924,则程序的运行结果为(D)。

main( ){ int x, y;scanf(“%2d%2d”,&x,&y);printf(“%2d”,x*y); }A) 13 B) 1357 C) 74 D) 7419、执行下列程序段后输出的结果是(C)。

x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *10、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是(D)A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是(A)A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为( A ) A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是(A)A) char s[5]={"ABCD"};B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";14、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是(B )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是(B)int m=13;int fun( int x, int y){ int m=3;return( x*y-m); }main( ){ int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 3 D) 10二、判断(每空1分,共10分)1、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。

事业单位招录计算机专业知识(C语言)模拟试卷1(题后含答案及解析)

事业单位招录计算机专业知识(C语言)模拟试卷1(题后含答案及解析)

事业单位招录计算机专业知识(C语言)模拟试卷1(题后含答案及解析)题型有:1. 单项选择题 4. 简答题单项选择题1.C语言属于( )语言。

A.汇编语言B.结构化C.面向对象D.SQL正确答案:B解析:C语言属于结构化语言。

知识模块:C语言2.下列说法错误的是( )。

A.C程序运行步骤是编辑、编译、连接、运行B.C语言的变量名必须用小写,常量用大写C.C语言的三种基本结构是顺序、选择、循环D.C程序一定由函数构成的正确答案:B解析:C语言程序运行步骤是编辑(把程序代码输入,交给计算机)、编译(成目标程序文件.obi)、连接(成可执行程序文件.exe)和运行(可执行程序文件),故A正确。

顺序结构、选择结构和循环结构是C语言的三个基本结构,故C正确。

一个C源程序是由一个main函数和若干个其他函数组成的,故D正确。

对于C语言变量和常量的命名,只要满足由字母、数字、下画线组成,且首字母不为数字的命名规则即可,只不过按照编程惯例来说变量名常用小写,常量常用大写,故B不正确。

知识模块:C语言3.关于main函数说法正确的是( )。

A.main函数没有返回值B.main是C程序中的关键字C.main函数是C程序中的主函数,有且仅有一个D.main函数从函数中开始执行,在最后一个函数中结束正确答案:C解析:main函数有返回值且不是关键字,一个程序从主函数开始运行。

知识模块:C语言4.下列说法中正确的是( )。

A.由于C源程序是高级语言程序,因此一定要在TC软件中输入B.由于C源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入C.由于C程序是高级语言程序,因此输入后即可执行D.由于C程序是高级语言程序,因此它是由命令组成的正确答案:B解析:TC只是一种C语言的编辑软件,C语言可以在其他的一些软件中输入,比如说win-TC.Visual C++等软件,故A错误。

C源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入,故B正确。

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

一.单项选择题1.一个C语言源程序由一个或多个( D )组成。

A.子程序B.过程C.函数D.主函数2. 下列定义变量的语句中错误的是( C )。

A.int _intB.double int_1C.char ForD.float US$ 3.以下语句有语法错误的是( B )。

A.printf("%d",0xabc); B.printf("%f",1.234e2.0);C.printf("%d",057); D.printf("%c",'\\');4.若有定义int m=2,n=2;执行语句(m=0)&&(n=3);后m和n的值分别为( D )。

A.2 2 B.0 3 C.2 3 D.0 25.若有定义int k=4,a=3,b=2,c=1;则表达式k<a?k:c<b?c:a的值为( D )。

A.4 B.3 C.2 D.16. 若有定义int x=1,y=1,z=1;则执行x+=y+=z+=10;后x,y,z的值是( D )。

A.x=1,y=1,z=1 B.x=11,y=11,z=11C.x=11,y=12,z=13 D.x=13,y=12,z=117.若有定义int a,b,c ;执行输入语句scanf("a=%d,b=%d,c=%d",&a,&b,&c);时,为使变量a的值为1,b为2,c为3,从键盘输入数据的正确形式应当是( D )。

A.123〈回车〉B.1,2,3〈回车〉C.a=1 b=2 c=3〈回车〉D.a=1,b=2,c=3〈回车〉8. 若有定义int a=1,b=1; 执行语句 printf("%d %d\n",--a, b++); 输出的结果是( D )。

A. 1 1B. 0 2C. 1 2D. 0 19. 以下4个程序段中有一个程序段执行结果与其它不一样,它是( C )。

A.if(a>b) c=a,a=b,b=c; B.if(a>b){c=a,a=b,b=c;}C.if(a>b) c=a;a=b;b=c; D.if(a>b){c=a;a=b;b=c;}10. 若变量已正确定义,要求程序段完成求10!的计算,不能完成此操作的程序段是( B )。

A.for(i=1,fac=1;i<=10;i++) fac*=i;B.for(i=1;i<=10;i++){ fac=1; fac*=i;}C.i=1;fac=1;while(i<=10){fac*=i; i++;}D.i=1;fac=1;do{fac*=i; i++; }while(i<=10);11. 执行for (int i=1;i<10&&i%2;i++) printf("*");输出*号的个数是( A )。

A.1 B.4 C.5 D.912. 以下正确的函数定义是( A )。

A.int fun(int x, int y) { return 3*x+2*y;}B.int fun(int x,y) { int z; z=3*x+2*y ;return z;}C.int fun(x,y) { int x,y,z; z=3*x+2*y; return z;}D.int fun(int x, int y) { int z=x+y; printf("%d\n",z));}13. 在C语言中,形参的缺省存储类别是( A )。

A.auto B.extern C.static D.register 14.若有定义int a[5]={1,3,5,7,9}; 则不能对a数组元素正确引用的是( C )。

A.a[3] B.*a+3 C.a[a[2]] D.a[a[4]-a[3]] 15.若有定义int a[3][4]; 则对数组元素a[2][3]不能正确引用的是( D )。

A.*(a[2]+3) B.*(*(a+2)+3) C.(*(a+2))[3] D.*(a+2)[3] 16. 以下定义语句中不能将字符串 "welcome"正确赋给字符数组的是( B )。

A.char s1[]="welcome";B. char s2[7]={'w','e','l','c','o','m','e'};C. char s3[8]={ 'w','e','l','c','o','m','e','\0'};D. char s4[8]={ "welcome"};17. 判断字符串str1和str2是否相等,应当使用( D )。

A. if(str1=str2)B. if(str1==str2)C. if(strcpy(str1,str2))D. if(!strcmp(str1,str2))18. 变量的指针,其含义是指该变量的( B )。

A. 值B. 地址C. 标识符D.一个标志19. 若有定义int x=1,y=2,*p=&x,*q=&y;则下列语句中错误的是( C )。

A.p=q; B.*p=*q; C.&x=&y; D.*p=y;20. 若有定义语句:int x=3,y=2;,则以下表达式x&y的值是( C )A. 0B. 1C. 2D. 3二.填空题1. 如果计算机中用16位表示一个整数,十进制整数-12,在机内用补码表示为:2. 数学表达式 )(3z y x z y x ++-的C 语言表达式形式为_(x-y*y*y+z)/(x*(y+z))_。

3. 能正确表达数学关系10<a<15的C 语言表达式是_(a>10) && (a<15)_。

4. 若有定义char ch= 'g';将ch 转换为相应的大写字母的表达式是_ch=‘A ’+(ch-‘a ’)_。

5. 若有定义int x,y,z;x=y=z=0;执行++x&&++y||++z;后x 、y 、z 的值分别 ___1、1、0___。

6. 若有定义int a=10,b=20;则执行printf("a+b=%d+%d=%d\n",a,b,a+b); 后的输出结果是__a+b=10+20=30___。

7. 若有函数定义int fun(){ return (5,6); }则调用fun 函数的返回值是___6_____。

8. 若有宏定义 #define f(x) x*x 则表达式f(3+3)的值为____15___。

9. 若有以下结构体说明和变量定义,建立的链表如下图所示,指针p 、q 、r 分别指向此链表中三个连续结点。

struct node{ int data; struct node *next; } *p,*q,*r;现要将q 所指结点从链表中删除,能完成删除操作的语句是_p->next=q->next;free(q);___。

10. 若有定义FILE *fp; 以“只读”方式打开文件C:\cprogram\mydata.txt 的正确语句是fp=fopen(“C:\\cprogram\\mydata.txt ”, “r ”)。

三.阅读程序题以下每个程序都有 #include<stdio.h>被省略{ int x=15,y=27,z1,z2;z1=(x+y)/2;z2=x/2+y/2; printf("%d %d\n",z1,z2); x=x+y; y=x-y;x=x-y;printf("%d %d\n",x,y);}2. main(){ int a=1,b=2,c=3,x=10;if(a>b)if(b>c)x+=1;elsex+=2;elseif(b<c)x+=3;elsex+=4;printf("%d\n",x);}3. main(){ int year=2012,month=6,day=30;int totalday=0,leap;leap=(year%4==0&&year%100!=0||year%400==0);switch(month-1){ case 5:totalday+=31;case 4:totalday+=30;case 3:totalday+=31; case 2:if(leap==1) totalday+=29;elsetotalday+=28;case 1:totalday+=31;case 0:totalday+=31;}printf("%d\n",totalday);}{ int f0=1,f1=1,f2;int i=3;printf("%d %d ",f0,f1);do{ f2=f0+f1;printf("%d ",f2);f0=f1;f1=f2;i++;}while(i<=6);}5. int f(int n){ static int p=1;p*=n;return p;}main(){ int i;for(i=1;i<=5;i++)printf("%d ",f(i));printf("\n");}6. int f(int a){ if(a==1)return 0;elsereturn 10+f(a-1);}main(){ int a=3;printf("%d\n",f(a));}7. void f(int a,int *b){ int t;t=a,a=*b;*b=t;}main(){ int x=1,y=2;f(x,&y);printf("%d %d\n",x,y);}8.main(){ int a[4][4];int i,j,sum=0;for(i=0;i<4;i++) for(j=0;j<4;j++) a[i][j]=4*i+j+1;for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j)sum+=a[i][j];printf("%d\n",sum);}9.void move(int *p,int n){ int i,j,t;t=*p;for(i=0;i<n-1;i++)*(p+i)=*(p+i+1);*(p+i)=t;}main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},i;move(a,10);for(i=0;i<10;i++)printf("%d ",a[i]);printf("\n");}10. #include<string.h>struct STU{ int no;char name[10];int score;};main( ){ struct STU s[6]={{1,"Yang",90}, {2,"Li",80},{3,"Zhang",60}, {4,"Wang",89}, {5,"Yang",67}, {6,"Yang",100}}; int i,n=0;for(i=0;i<6;i++)if(strcmp(s[i].name,"Yang")==0)n++;printf("%d\n",n);四.填空完成程序以下每个程序都有 #include<stdio.h>被省略1. 用公式e X=1+x+x2/2!+……+x n/n!求e X的近似值,直到最后一项的绝对值小于10-6为止。

相关文档
最新文档