2014年C语言期末考试试题

合集下载

2013-2014第二学期C语言期末试卷B

2013-2014第二学期C语言期末试卷B

2013-2014学年第二学期《C语言程序设计》期末试卷(B)1.起换行作用的转义字符是()。

A.’\t’B.’\b’C.’\n’D.’\r’2.在以下几组运算符中,优先级最高的运算符是()。

A.<=B.=C./D.&&3.设有定义“int i=1;”,以下选项的四个表达式中与其他三个表达式的值不相同的是()。

A.i++B.i+=1C.i+1D.++i4.C语言的三种基本结构是()。

A.顺序结构.逻辑结构.选择结构B.顺序结构.选择结构.循环结构C.逻辑结构.层次结构.网状结构D.层次结构.顺序结构.循环结构5.关于数组元素类型的说法,下列()是正确的。

A.必须是整数类型B.必须是整型或实型C.必须是相同数据类型D.可以是不同数据类型6.以下程序段的输出结果是()。

#include<stdio.h>void main(){int i,j,m=0;for(i=1;i<=5;i+=4)for(j=3;j<=19;j+=4)m++;printf("%d\n",m);}A.10B.15C.20D.257.设有如下定义: int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是()。

A. 1B. 0C. 4D. 38.在C语言中运算对象必须是整型的是()。

A.%B./C.==D.<=9.若变量已说明为int类型,要给a、b、c输入数据,以下正确的输入语句为()。

A.read(a,b,c);B.scanf("%d%d%d",a,b,c);C.scanf("%D%D%D",&a,%b,%c);D.scanf("%d%d%d",&a,&b,&c);10.下面程序的结果是()。

main(){ int x=1;while(x<20){ x=x*x;x=x+1; }printf("%d",x); }A.1B.20C.25D.2611.运行如下程序,其结果为()。

(完整版)C语言期末考试题(含答案)

(完整版)C语言期末考试题(含答案)

(完整版)C语⾔期末考试题(含答案)《C 语⾔程序设计》期末试卷⼀、单项选择题(10x2’=20’)1、以下叙述正确的是()A )C 语⾔的源程序不必通过编译就可以直接运⾏。

B )C 语⾔中的每条可执⾏语句最终都将被转换成⼆进制的机器指令。

C )C 语⾔源程序经编译形成的⼆进制代码可以直接运⾏。

D )C 语⾔中的函数不可以单独进⾏编译。

2、⼀个C 语⾔的源程序中()A )必须有⼀个主函数B )可能有多个主函数C )必须有除主函数外其它函数D )可以没有主函数3、以下不能定义为⽤户标识符的是()A )scanfB )VoidC )_3comD )int4、若以下选项中的变量已正确定义,则正确的赋值语句是()A )x1=26.8%3;B )1+2=x2;C )x3=0x12;D )x4=1+2=3;5、设有定义:float a=2,b=4,h=3;以下C 语⾔表达式中与代数式h b a *)(21 的计算结果不.相符的是() A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b)6、C 语⾔中⽤于结构化程序设计的3种基本结构是()A )顺序结构、选择结构、循环结构B )if 、switch 、breakC )for 、while 、do-whileD )if 、for 、continue7.在while (!x )语句中的!x 与下⾯条件表达式等价的是()A) x!=0 B) x==1 C) x!=1 D) x==08、有以下程序:#includevoid main(){int i=1,j=1,k=2;if( (j++||k++)&&i++ )printf(“%d,%d,%d\n ”,i,j,k);}执⾏后的输出结果是()A )1,1,2B )2,2,1C )2,2,2D )2,2,39、有以下程序:#includevoid main(){int i,s=0;for(i=1;i<10;i+=2)s+=i+1;printf(“%d\n ”,s);}程序执⾏后的输出结果是()A )⾃然数1~9的累加和B )⾃然数1~10的累加和C)⾃然数1~9中奇数之和D)⾃然数1~10中偶数之和10、有以下函数定义: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);⼆、填空题(10x2’=20’)11、C语⾔描述“x和y都⼤于或等于z”的表达式是:。

浙大14年C语言专题试卷-英文

浙大14年C语言专题试卷-英文

浙江大学2014–2015学年冬季学期《程序设计基础》课程期末考试试卷课程号: 211Z0040 ,开课学院:计算机学院__考试试卷:√A卷、B卷(请在选定项上打√)考试形式:√闭、开卷(请在选定项上打√),允许带∕入场考试日期: 2015 年 01 月 28 日,考试时间: 120 分钟诚信考试,沉着应考,杜绝违纪.考生姓名:学号:所属院系: _ (注意:答题内容必须写在答题卷上,写在本试题卷上无效)Section 1: Single Choice(2 marks for each item, total 20 marks)1. Which one below is NOT a valid identifier in the C programming language? _____.A. printfB. _everC. “char”D. true2. Given a, b and c as three double variables, which one below is NOT equivalent toa/b/c? _____.A. (a/b)/cB. a/(b/c)C. a/(b*c)D. a/c/b3. Which function header is NOT correct? _____.A. void f(void)B. void f(int i)C. void f(int i,j)D. void f(int i, int j)4. Given the code below, what will be the value of i after the loop? _____.int i;while ( i<10 ) i++;A. 10B. 11C. 9D. None of above.5. Given the declarations:int a[5], *p=a;which expression is equivalent to theexpression p+1 ? _____.A.a[1] B. &a+1 C.a+1 D. p[2]-16. For the declarations: int a[]={1,2,3,4,5},*p=a+1, y; what will be the value of variabley after executing y=(*p)++; ? _____.A.y=1 B.y=2 C.y=3 D. Syntax error.7. For the declarations: int *p[2], n[5]; which assignment expression is correct? _____ .A.p=n B. p=&n[0] C.p[0]=n D. p[0]=n++8. Given the following code fragment, the loop condition str[i]!=’\0’ could be replaced bywhich choice? ______.char str[20]=”hello, world”;for (i = 0; str[i] != …\0‟; i++) putchar(str[i]);A.str[i] B.i < 20 C.!(str[i] = …\0‟)D.i <= 209. Which function-calling statement could be used, to open a text file entitled “abc.tx t”and located in the folder “user” within D diskette, which is opened for the reading and writing operation? ______.A.fopen("D:\user\abc.txt","r") B. fopen("D:\\user\\abc.txt","r+")C. fopen("D:\user\abc.txt","rb") D.fopen("D:\\user\\abc.txt","w")10. In the following code fragments, which item is completely correct? ______.A.int *p[5]; scanf("%d", p[0]); B.int *p; scanf("%d", p);C.int n[10], *p=n; scanf("%d", p); D.int n, *p; *p= &n; scanf("%d", p);Section 2: Fill in the blanks(2 marks for each item, total 30 marks)1. The value of expression 3/6*2.0 is ________.2. The value of expression '9'-'0' is _______.3. Given:char c = 255;printf("%d", c);The output should be: _______.4. Given:int b=50;if ( 1<b<10 ) printf("ok") else printf("no");the output is _______.5. The following code fragment will print out _____________________________.void swap(int *pa, *pb){int *t = pa;pa = pb;pb = t;}int a = 1, b = 2;swap(&a, &b);printf(“%d#%d#”, a, b);6. The output of the code below is ________.char *s=”abc”;while ( *s++ ) if (*s) putchar(*s-1);7. Given the declaration: char *s;, write a statement which could be used to allocate 10bytes from the system and assign the first address to the variable s _____________.8. Try to use the function-call of fscanf, to replace the function-call of scanf(”%d”,&m);______________________________________________.9. Given the declaration: char *s;, write an expression without any function-calling,which is equivalent to the expression strlen(s)==1 _____________________.10. Given the declaration: int a[3][2]={1,2,3,4,5,6}; what is the value of expression(a[1]+1)[0] ?____________.11. The value of expression !*(“2015-01-28”+5) is ______________.12. The output of the code below is ________.char x[ ]=”hello,world\012345”;printf(”%d#%d#”,sizeof(x),strlen(x));13. The output of the code below is ________.char *a[3]={"one", "two",”three”}, **p=a;printf("%s#", *(++p)+1);printf("%c#", **p-1);14. Given the declarations: FILE *infp, *outfp;, write a statement: it is used to write aletter, which is read from a file pointer infp, into the file pointer outfp, which points to an output file. ________________________________________________________.15. Given the declaration: char s[10]=”12345678”; what will be the value of strlen(s)after executing strcpy(s+2,s+5); ________.Section 3: Read each of the following programs and answer questions (5marks for each item, total 30 marks)1. What is the output of the following program? _____________________________.#include <stdio.h>void swap(int *a, int b){int m, *n;n=&m;*n=*a;*a=b;b=*n;}int main(){int x=8,y=1;swap(&x,y);printf("%d#%d#",x,y);}2. When input: 123, what is the output of the following program_______________.#include <stdio.h>int f(char s[], int b){int i=0, n=0;while (s[i]!=‟\0‟) {n=n*b+s[i]-'0';i++;}return n;}int main(){char s[20];int n;scanf("%s",s);printf("%d", f(s,5));}3. When the following program‟s input ising<Enter>This is a long test string<Enter>the output of the program is __________.#include <stdio.h>#include <string.h>int main(){char s[100], t[100], ch, *p;int count, i;gets(s);gets(t);for (i = 0; i < strlen(s); i++) {count=0;p = t;while (*p != '\0') {if (*p == s[i]) count++;p++;}printf("%c %d ", s[i], count);}}4. The output of the following program‟s is ____________.#include <stdio.h>#include <string.h>void fun(char *s[], int n){char *t;int i,j;for (i=0; i<n; i++)for (j=i+1; j<n; j++)if (strlen(s[i])> strlen(s[j])) {t=s[i];s[i]=s[j];s[j]=t;}}int main(){char *s[]={"the population of”, “the city”,“has reached”, “top level"};fun(s,4);printf("%s,%s\n",s[0],s[3]);}5. The following program will print out ____________.#include <stdio.h>void p1(int v[]){int i,j,temp;for (i=1; i<4; i++)for (j=i-1; j>=0&&v[j]<v[j+1]; j--) {temp = v[j];v[j]=v[j+1];v[j+1]=temp;}}void p2(int v1[], int v2[]){int i=0, j=0;while (i<4 && j<4) {if (v1[i]>v2[j]) {printf("%d ", v1[i++]);} else {printf("%d ", v2[j++]);}}while (i<4) printf("%d ", v1[i++]);while (j<4) printf("%d ", v2[j++]);}main(){int a[2][4]={{5,3,7,2},{4,1,8,6}};p1(a[0]);p1(a[1]);p2(a[0],a[1]);}6. When input: 8 1 2 3 4 5 6 7 8, the following program will print out ____________.#include <stdio.h>#include <stdlib.h>void F1(int *a, int n){int t, *b = a + n - 1;while (a < b) {t = *a;*a = *b;*b = t;a++;b--;}}void F2(int *a, int n){int i,t;if (n <= 1) return;for (i = 0; i < n/2; i++){t = *(a + i);*(a + i) = *(a + n - 1 - i);*(a + n - 1 - i) = t;}}int main(void ){int i, n, *a;scanf("%d", &n);if ((a = (int*)malloc(n*sizeof(int))) == NULL) return 2;for (i = 0; i<n;i++) scanf("%d",a + i);F1(a + n/4, n/2);F2(a, n);for (i = 0; i < n; i++) printf("%d#",*(a + i));return 0;}Section 4: According to the specification, complete each program (2 marks for each blank, total 20 marks)1. There is an increasing ordered (升序) character list in a text file in.txt. The followingprogram read in this list, calculate the number of duplicates(重复) and write each character and its frequency of occurrence (>1) (大于1的出现次数) into the file out.txt. For example, if the in.txt contains “abbcdddddddddddde”, the list “ab2cd12e” will be written into out.txt.#include <stdio.h>main(){FILE *fp1, *fp2;char last, c;int count=0;fp1=fopen("in.txt", "r");fp2=fopen("out.txt", "w");if (_______(1)_______) return (0);last='\0';while (______(2)_____) {count++;if (c!=last) {if (count>1) _______(3)______;count=0;_______(4)______;last=___(5)____;}}fclose(fp1);fclose(fp2);}2. Function strncat(char *ret, char *s2, int n)copy at most n characters from s2 to ret.The output of the following program is:WooManGoodWoManPlease complete the program.#include <stdio.h>char *strncat(char *ret, char *s2, int n){char *s1=ret;if (n>0) {while (_____(6)____);s1--;while (*s1++=_____(7)____) {if (--n>0) continue;*s1=_____(8)_____;break;}return ret;} else {return s1;}}main(){char s[100]=”Good”;char t1[100]=”Woo”;char t2[100]=”Manager”;strncat(____(9)_____);printf(“%s\n”, t1);strncat(____(10)_____);printf(“%s\n”, s);}。

2014年C语言试题

2014年C语言试题

2014年C语言试题一、选择题(40*1)1 对用C语言编写的代码程序,以下叙述中正确的是(B)A、可立即执行B、是一个源程序C、经过编译即可执行D、经过编译解释才能执行2 以下选项中正确的实型常量是(D)A、0B、3. 1415C、0.03*102D、.323 C语言中不合法的字符串常量是(B)A、"\121 "B、'y= 'C、"\n\n "D、"ABCD\x6d "4 C语言中运算必须是整型的运算符是(B)A、/B、%C、*D、+5 C语言中的简单数据类型有(C)A、整型、实型、逻辑型B、整型、字符型、逻辑型C、整型、实型、字符型D、整型、实型、逻辑型、字符型6 以下选项中不合法的用户标识符是(D)A、PRINTFB、fileC、MainD、wb-17 以下非法的赋值语句是(C)A、n=(i=2,++i)B、j++C、++(i+1)D、x=i>08 C语言中不合法的常量是(D)A、'\xff 'B、'\65 'C、'& 'D、'\028 '9 C语言中,字符(char)型数据在计算机内存中的存储形式是(D)A、反码B、补码C、EBCDIC码D、ASCII码10 以下程序的输出结果是(D)void main(){ int x=10,y=3;printf("%d\n ",y=x/y);}A、0B、1C、不确定的值D、311 以下程序段的输出是(A)int x=496;printf("*%-06d*\n ",x);A、*496 *B、* 496*C、*000496*D、输出格式不合法12 若变量已经正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是(D)A、read(a,b,c);B、scanf("%d%d%d ",a,b,c);C、scanf("%D%D%D ",&a,&b,&c)D、scanf("%d%d%d",&a,&b,&c)13 以下合法的C语言赋值语句是(D)A、a=b=58B、k=int(a+b);C、a=58,b=58D、- - i;14 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是(A)A、1B、0C、2D、615 以下程序执行后输出结果是(B)void main(){ int i=10,j=1;printf("%d,%d\n ",i--,++j);}A、9,2B、10,2C、9,1D、10,116 设有语句char a= '\172 ';,则变量a(A)A、包含一个字符B、包含2个字符C、包含个字符D、说明不合法17 若变量已经正确定义,要将a和b中的数据进行交换,下面不正确的语句是(C)A、a=a+b,b=a-b,a=a-b;B、t=a;a=b;b=tC、a=t;t=b;b=a;D、t=b;b=a;a=t;18 若变量已经正确说明,要求用以下语句给c1赋值字符%,给c2赋值字符#,给a赋值2.0,给b赋值4.0,则正确的输入形式是(B)scanf("%f%c%f%c ",&a,&c1,&b,&c2);A、2.0 % 4.0 #B、2.0%4.0#C、2 % 4#D、2 % 4 #19 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)A、6.500000B、7C、5.500000D、6.00000020 以下程序执行后的输出结果是(D)void main(){int i=1,j=1,k=2;if((j++||k++)&& i++) printf("%d,%d,%d\n ",i,j,k);}A、1,1,2B、2,2,1C、2,2,2D、2,2,321 下列运算符中优先级最高的运算符是(A)A、!B、%C、-=D、&&22 运行以下程序后,输出的结果是(A)void main(){ int k=-3;if(k<=0)printf("****\n ");elseprintf("&&&&\n ");}A、****B、&&&&C、****&&&&D、有语法错误不能通过编译23 以下程序段的输出结果是(B)void main(){ char x= 'A ';x=(x> 'A ' && x< 'Z ')?(x+32):x; printf("%c\n ",x ); }A、aB、AC、ZD、z24 以下的程序执行后输出的结果是(A)void main(){ int a=5,b=4,c=3,d=2;if(a>b>c)printf("%d\n ",d);else if((c-1>=d)==1)printf("%d\n ",d+1);else printf("%d\n ",d+2);}A、3B、2C、编译出错D、425 若执行以下程序时从键盘上输入3和4(输入方式:3 4),则输出的结果是(C)void main(){ int a,b,s;scanf("%d%d ",&a,&b);s=a;if(as*=s;printf("%d\n ",s);}A、14B、18C、16D、2026 设a、b和c都是int变量,且a=3,b=4,c=5,则以下的表达式中,值为0的表达式是(D)A、a&&bB、a<=bC、a||b+c&&b-c D、!((a<b)&&!c||1)< p="">27 以下的程序运行结果是(D)void main(){ int a=2,b=-1,c=2;if(a<b)< p="">if(b<0) c=0;else c+=1;printf("%d\n ",c);}A、0B、1C、3D、228 以下程序的输出结果是(C)void main(){ int x=1,a=0,b=0;switch(x){case 0:b++;case 1:a++;case 2:a++;b++;}printf("a=%d,b=%d\n ",a,b);}A、a=2,b=2B、a=1,b=1C、a=2,b=1D、a=1,b=029 若x是int类型变量,以下程序段的输出结果是(D)for(x=3;x<6;x++)printf((x%2)?( "**%d "):( "##%d\n "),x);A **3C ##3D **3##4##4 **4 **4##5 **5**5 ##530 以下程序的输出结果是(A)int n=10;while(n>7){ n--;printf("%d ",n);}A、987B、1098C、10987D、987631 以下程序段的输出结果是(C)int i,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4){m++;} printf("%d\n ",m);A、12B、15C、20D、2532 以下程序段的输出结果是(C)int x=3;do{ printf("%3d ",x-=2);} while(!(--x));A、1C、1 -2D、死循环33 以下的程序输出结果为(A)void 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、011122B、012C、012020D、12034 以下程序的输出结果是(C)# includevoid man(){ int i;for(i=1;i<5;i++){if(i%2) putchar('< ');else continue;putchar('> ');}putchar('# ');}A、<><><>#B、><><><#C、<><>#D、><><#35 若想将一个字符数组a的内容存入另一个字符数组b中,下列正确的是(B)A、b=aB、strcpy(b,a)C、strcpy(a,b)D、strcat(b,a)36 下面的程序输出结果是(A)void main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A、3B、4C、1D、237 以下对整型数组a的正确说法是(D)A、int a(10);B、int n=10,a[n];C、int n;sacnf("%d ",&n);int a[n]D、#define SIZE 10 int a[SIZE];38 以下程序的输出结果是(B)void main(){ int i,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n ",sum);}A、15B、不确定C、16D、039 以下程序的输出结果是(A)void main(){ int i,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf("%d, ",x[i][2-i]);}A、3,5,7B、1,4,7C、1,5,9D、3,6,940 若fp是指向某文件的指针,且已经读到文件的末尾,则库函数feof(fp)的返回值是(A)A、EOFB、-1C、NULLD、非零值二、填空题(20*1)1、C语言中函数的组成部分包括函数头和函数体。

2013~2014C语言期末试卷

2013~2014C语言期末试卷

北京航空航天大学2013-2014学年第二学期期末《C语言程序设计》考试卷班级______________学号_________姓名______________成绩_________2014年5月30日班号____________学号________________姓名________成绩______《C语言程序设计》期末考试卷注意事项:1、请将所有的答案和程序写在答题纸上,写在试卷纸上不得分!2、考试时间120分钟一、单项选择题(每题2分,共40分)1. 以下不合法的数值常量是A) 011 B) 1e1 C) 8.0E0.5 D) .5e02. 若用数组名作为函数调用的实参,传递给形参的是A)数组的首地址B)数组第一个元素的值C)数组中全部元素的值D)数组元素的个数3. 设有定义:intx=2;,以下表达式中,值不为6的是()。

A)x*=x+1 B)x++,2*x C)x*=(1+x) D)2*x,x+=24. 若有以下定义,则对a数组元素的正确引用是_____.int a[5],*p=a;A)*&a[5] B)a+2 C)*(p+5) D)*(a+2)5. 以下正确的描述是在C语言程序中A)函数的定义可以嵌套,但函数的调用不可以嵌套B)函数的定义不可以嵌套,但函数的调用可以嵌套C)函数的定义和函数的调用均不可以嵌套D)函数的定义和函数的调用均可以嵌套6. 以下正确的说法是如果在一个函数中的复合语句中定义了一个变量,则该变量A)只在该复合语句中有效B)在该函数中有效C)在本程序范围内均有效D)为非法变量7. 对函数形参的说明有错误的是____。

A) int a(float x[],int n) B) int a(float *x,int n)C) int a(float x[10],int n) D) int a(float x,int n)8. 有如下程序main(){ int a=2,b=-1,c=2;if(a<b)if(b<0) c=0;elsec++;printf("%d\n",c);}该程序的输出结果是___.A)0 B)1 C)2 D)39. 已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是____。

2014综合测试试题(C语言)2

2014综合测试试题(C语言)2

C 语言课程考试试卷课程名称:《C 语言程序设计》年级: 班级:姓名:_______________ 学号:_________________ 考试(考查) 闭卷选择题(每题2分,共计100分)1. 以下叙述正确的是( )A) 在C 程序中,main 函数必须位于程序的最前面 B) C 语言的每一行中只能写一条语句 C) C 语言本身没有输入输出语句D) 在对一个C 语言进行编译的过程中,可发现注释中的拼写错误 2. 不属于字符型常量的是__________。

A) 'B' B) 'C' C) '\n' D) P3. 判断 char 型变量ch 是否是大写字母的正确表达式是_________。

A) 'A'<=ch<='Z' B) (ch>=‘A')&(ch<='Z') C) (ch>='A')&&(ch<=‘Z') D) ('A'<=ch)AND('Z'>=ch)4. 若有说明: int a[10]; 则对 a 数组元素的正确引用是________。

A) a[10] B)a[3.5] C) a(5) D) a[10-10]5. 以下二维数组 a 的正确说明是________。

A) int a[1,1]; B) float a(3,4); C) double a[1][4]; D) float a(3)(4);6. 设有: int a=2,b=3,c=7,d=8,m=3,n=3; 执行 (m=a>b)&&(n=c>d) 后的 n 值为_________。

A) 0 B) 1 C ) 2 D) 37. 已知 int x=10,y=20,z=30; 以下语句执行后, x 、y 、z 的结果是。

2014全国计算机二级c语言试题及答案

2014全国计算机二级c语言试题及答案

2014全国计算机二级c语言试题及答案试卷一一、选择题(共40题,每题1.5分,共60分)1. 下面对C语言中的goto语句描述正确的是:A. 使用goto语句可以在程序中实现子程序调用。

B. goto语句只能用于跳转到程序的开头位置。

C. 使用goto语句可以实现程序的循环控制。

D. 使用goto语句会导致程序的可读性下降,不推荐使用。

2. 下面表示数组a中第i个元素的正确表达式是:A. a(0)B. a[i]C. a[i-1]D. a(i)3. 以下代码片段的输出结果是什么?```cint x = 5, y = 10;if (x >= 5 && y < 20)printf("True");elseprintf("False");```A. TrueB. FalseC. 编译错误D. 运行时错误4. 下面关于字符数组的说法不正确的是:A. 字符数组可以用来存储字符串。

B. 字符数组的最后一个元素必须是空字符'\0'。

C. 字符数组可以进行逐个字符的输入输出操作。

D. 字符数组不可以进行字符串的拼接操作。

5. 下面哪个不是C语言中的关键字?A. volatileB. constC. staticD. delete6. 在C语言中,当函数返回一个整型值时,可以使用下面哪个关键字来定义返回值的类型?A. intB. voidC. returnD. none7. 下面哪个运算符的优先级最高?A. &&B. *C. =D. ?8. 下面的循环语句会执行几次?```cfor (int i = 0; i < 10; i++){if (i < 5)continue;elsebreak;}```A. 0次B. 5次C. 10次D. 无限次9. 在C语言中,对数组进行遍历时,可以使用下面哪个循环语句?A. forB. if-elseC. whileD. switch10. 在C语言中,以下哪个函数用于清空输入缓冲区?A. scanf()B. gets()C. getchar()D. fflush()...试卷二二、编程题(共3题,共40分)1. 编写一个程序,实现以下功能:输入一个正整数n,输出1到n之间(包含n)所有的素数。

2013-2014-2C语言A卷包含答案版

2013-2014-2C语言A卷包含答案版

青岛高新职业学校2004—2005学年度第二学期期末考试A卷2013—2014学年第2学期《计算机程序设计C(2-2)》期末考试试卷专业班级姓名学号开课系室计算机应用技术系考试日期2014年6月22日题号一二三总分得分阅卷人页脚内容0一、程序阅读题(每空2分,共20分)1.又是一年一度的毕业季,马上要离开校园踏上工作岗位的同学们在拍摄完照片之后,大家有了一个共同的想法——那就是在毕业前互换礼物。

到了约定的日子,同学们带来的礼物琳琅满目,都不知道该如何交换了。

于是,在经过讨论后一致决定,大家将n个礼物放在一起统一编号为1,2,……,n,并同时对该礼物的拥有者进行相同编号。

交换的规则是:1号同学与n号同学的礼物互换,2号同学与n-1号同学的礼物互换,以此类推。

请阅读下面程序并完成填空。

#includ e<stdio.h>#d efineN120+1intmain(){inta[N]={0},n,i,j,t;scanf("%d",&n);for(i=1;i<=n;i++){【1】;}for(i=1,【2】;【3】;i++,j--){t=a[i];a[i]=a[j];a[j]=t;页脚内容1}for(i=1;i<=n;i++){printf("%d",a[i]);}printf("\n");return0;}2.下面函数的功能是统计字符串substr在字符串str中出现的次数,请阅读下面程序段并完成填空。

intcount(charstr[],charsubstr[]){inti,j,k,num=0;for(i=0;str[i]!='\0';i++){【4】;for(j=0;substr[j]!='\0';k++,j++){if(【5】){break;页脚内容2}}if(substr[j]=='\0'){num++;}}【6】;}3.在Windows操作系统中的“复制-粘贴-重命名”功能,可以实现将文件从一个位置复制粘贴到另外一个位置。

《C语言程序设计》期末考试试卷(2014上)

《C语言程序设计》期末考试试卷(2014上)

2014年上学期《C语言程序设计》期末考试试卷班级:________ 学号:_____ 姓名:______ 记分______一、选择题(每题3分,共30分)1.以下正确的C语言常量是()A、0789B、2e2.4C、’abd’D、’\t’2.设有:int a=3, b= 4, c= 5,x , y; 执行!(x=a)&&(y=b)&&0表达式的值为()A、1B、0C、3D、43.设有语句 int a=3 ; 则执行了语句 a+ = a - = a * a后,变量a 的值是()。

A、3B、0C、9D、-124. 为表示关系x>=y>=z,应使用C语言表达式:( )A、(x>=y) && (y>=z)B、 (x>=y) AND (y>=z)C:、(x>=y>=z) D、(x>=y) & (y>=z)5.以下正确的标识符是()A、 3AB、A=2C、A*3D、A_36.若定义int m=7,n=2 则m%n的值为()A、1B、2C、2.5D、07.下列表达式中值为真的是()A、a=0B、b=3>4C、b=3+4==5D、(float)1/28.设a=4,b=6则整个逗号表达式a*2,a+b,b的值是()A、8B、10C、6D、49.下列符号可以作为变量名的是( )A、+aB、*pC、_DAYD、next10.转义字符“\n”表示()。

A、回车B、换行C、退格D、横向跳格二、填空题(每空3分,共计45分)1.C语言中的基本数据类型分为()、()和()。

2.C语言的标识符由()、()和()来组成。

3.C程序设计的三种基本结构是()、()和()。

4.C语言提供的三种逻辑运算符是()、()和()。

5.C语言中常用的循环语句有()和()两种类型。

6.设int i=10;则执行j=++i;后j的值为()。

C语言_2014-2015第二学期试题A卷

C语言_2014-2015第二学期试题A卷
19.以下程序段的输出结果是。
#include<stdio.h>
voidmain()
{ int i,sum;
for(i=1;i<6;i++) sum+=sum;
printf("%d\n",sum);}
A.15 B.14 C.不确定D.0
20.以下程序段的输出结果是。
#include<stdio.h>
C.i=1;p=1;while(i<=5){p*=i;i++;}D.i=1;p=1;do{p*=i;i++;}while(i<=5);
18.以下数组定义中不正确的是______。
A.int a[2][3]; B.int b[ ][3]={0,1,2,3};
C.int c[100][100]={0}; D.int d[3][]={{1,2},{1,2,3},{1,2,3,4}};
int a[10]={6,7,8,9,10};
A.将5个初值依次赋给a[1]至a[5]
B.将5个初值依次赋给a[0]至a[4]
C.将5个初值依次赋给a[6]至a[10]
D.因为数组长度与初值的个数不相同,所以此语句不正确
25.合法的数组说明语句是______。
A.int a[ ]="string"; B.char a[ ]="string";
江苏大学试题
(2014-2015学年第二学期)
课程名称程序设计(C语言)开课学院计算机学院
使用班级理工类考试日期2015年06月17日
题号



总分
核查人签名

C语言期末试题2(带答案)

C语言期末试题2(带答案)

C语言期末试题2(带答案)13-14-2 48课时C语言模拟练习总共42题共100分答卷编号:12311112222211333答题开始时间:2014-06-09 10:52:09答题结束时间:2014-06-09 10:52:13考生姓名:翟方正考试时间:00:00:04分钟总得分:0分评卷人:系统自动评卷评卷时间:2014-06-09 10:52:13一、单选题(共15题,共30分)1. 在C语言中,回车换行符是()(2分)A.'\n'B.'\t'C.'\v'D.'\b'标准答案:A考生答案:2. 以下选项中,不能作为合法常量的是()(2分)A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e0标准答案:B考生答案:3. 若有语句int *point,A=4;和point=&A下面均代表地址的一组选项是()(2分)A.A,point,*&AB.&*A,&A,*pointC.*&point,*point,&AD.&A,&*point ,point标准答案:D考生答案:4. 设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是()(2分)A.x&&yB.x<=yC.x︱︱++y&&y-zD.!(x<y&& !z︱︱1)<="" p="">标准答案:D考生答案:5. 以下叙述中正确的是()(2分)A.C语言可以用来编写系统软件,也可以用来编写应用软件B.函数体不必用一对大括号{}括起来C.C程序的每一行只能写一条语句D.对一个C程序进行编译的过程可以发现注释中的拼写错误标准答案:A考生答案:6. 执行下面程序段后,c3中的值是()int c1=1,c2=2,c3;c3=c1/c2; (2分)A.0B.1/2C.0.5D.1标准答案:A7. 以下程序的输出结果是( )main(){ int a=12,b=12;printf("%d %d\n",--a,++b);} (2分)A.10 10B.12 12C.11 10D.11 13标准答案:D考生答案:8. 以下定义语句中,错误的是( ) (2分)A.int a[]={1,2};B.char *a[3];C.char s[10]="test";D.int n=5,a[n];标准答案:D考生答案:9. 以下程序的输出结果是()main(){int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);} (2分)A.k=11,k=12,k=11B.k=11,k=13,k=13C.k=11,k=013,k=0xbD.k=11,k=13,k=b 标准答案:D考生答案:10. main( ){int p[7]={11,13,14,15,16,17,18}, i=0,k=0; while(i<7&&p[i]%3){k =k+ p[i]; i++;}printf("%d\n", k);}执行后输出结果是()(2分)A.58B.53C.38D.24标准答案:C考生答案:11. 以下程序段的输出结果是()int x=0,y=5,z=3;while(z-->0&&++x<5) y=y-1;printf("%d,%d,%d\n",x,y,z); (2分)A.3,2,0B.3,2,-1C.4,3,-1D.5,-2,-5考生答案:12. 若以下程序所生成的可执行文件名为file1.exe,则当在操作系统状态下输入下述命令行执行该程序时FILE1 CHINA BEIJING SHANGHAI程序的输出结果是()#includemain(int argc,char *argv[]){while (argc-->1){++argv;printf("%s ",*argv);}printf("\n");} (2分)A.CHINA BEIJING SHANGHAIB.FILE1 CHINA BEIJING SHANGHAIC.C B SD.F C B标准答案:A考生答案:13. 执行下述程序的输出结果是()#includeint power(int x,int y);main(){float a=2.6,b=3.4;int p;p=power((int)a,(int)b);printf("%d\n",p);}int power(int x,int y){int i,p=1;for (i=y;i>0;i--)p=p*x;return (p);} (2分)A.8B.9C.27D.81标准答案:A考生答案:14. 有以下程序main(){ int x[8]={8,7,6,5,0,0}, *s;s=x+3;printf("%d\n",s[2]);}A.随机值B.0C.5D.6标准答案:B考生答案:15. 执行下述程序的输出结果是()#includemain(){int aa[3][3]={{2},{4},{6}};int i,*p=&aa[0][0];for (i=0;i<2;i++){if (i==0)aa[i][i+1]=*p+1;else++p;printf("%d",*p);}printf("\n");} (2分)A.23B.26C.33D.36标准答案:A考生答案:二、判断题(共10题,共10分)1. C语言中,标识符的第一个字符可以是数字(1分) ( )标准答案:错误考生答案:2. "hello!"是合法的字符串常量表示形式(1分) ( )标准答案:正确考生答案:3. 若有定义int a[3][4];则a[1+1][0]是对数组a元素的正确引用形式(1分) ( )标准答案:正确考生答案:4. 在switch语句中使用continue语句与使用break语句作用相同(1分) ( )标准答案:错误考生答案:5. 用do-while语句构成循环时,只要while后的表达式为0时就结束循环(1分) ( )标准答案:正确考生答案:6. char a[]={0,1,2,3,4,5,6};不是正确的语句(1分) ( )标准答案:错误考生答案:7. 已经定义了指针变量p,且p指向变量a(即p=&a),则*p与a的含义相同。

2014年C语言期末考试试题

2014年C语言期末考试试题

C语言模拟试题一一—一一、填空题1、____________________________________________ C语言中基本的数据类型有:________________________________________2、C语言中普通整型变量的类型说明符为___________________ ,在内存中占____________ 字节,有符号普通整型的数据范围是3、____________________________________________ 整数-35在机内的补码表示为4、执行下列语句int a=8;a+=a-=a*a; 后,a的值是5、有如下语句:char A[ ]={ “lam a student ”};该字符串的长度是,N31=6、符号” a”和'a'的区别是7、所谓“指针”就是“ &”运算符的作用是“* ”运算符的作用是&有如下输入语句:sca nf( “ a=%d,b=%d,c=%d ,&a,&b,&c); 为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是___________________________ 。

二、选择题1、设整型变量a为5,使b不为2的表达式是(A. b=a/2B. b=6-(--a)C. b=a%2D. b=a>3?2:12、为了避免嵌套的条件分支语句定:C程序中的else总是与(A. 缩排位ifB. 在其之前未配对的if if-else 的二义性,) 组成配对关系置相同的C 语言规C. 在其之前未配对的最近的ifD. 同一行上的if3、以下程序的输出结果是()。

int x=10,y=10;printf( “ %d %d\n ”,x--,--y);A. 10 10B. 9 9C. 9 10D. 10 94、设A为存放(短)整型的一维数组,如果那么A中第i个元素的地址为(A. P+i*2B. P+(i-1)*2C. P+(i-1)D. P+i5、下列标识符中不是合法的标识符的是(A. hot_doB. cat1C. _priD. 2ab6、以下程序的输出结果是()int a=5;float x=3.14;a*=x*( ‘ E' - ‘ A );A的首地址为P,)。

2013-2014-2C语言A卷包含答案版

2013-2014-2C语言A卷包含答案版

A卷2013—2014学年第2学期《计算机程序设计C(2-2)》期末考试试卷专业班级姓名学号开课系室计算机应用技术系考试日期 2014年6月22日题号一二三总分得分阅卷人一、程序阅读题(每空2分,共20分)1.又是一年一度的毕业季,马上要离开校园踏上工作岗位的同学们在拍摄完照片之后,大家有了一个共同的想法——那就是在毕业前互换礼物。

到了约定的日子,同学们带来的礼物琳琅满目,都不知道该如何交换了。

于是,在经过讨论后一致决定,大家将n个礼物放在一起统一编号为1,2,……,n,并同时对该礼物的拥有者进行相同编号。

交换的规则是:1号同学与n号同学的礼物互换,2号同学与n-1号同学的礼物互换,以此类推。

请阅读下面程序并完成填空。

#include <stdio.h>#define N 120 + 1int main( ){int a[N] = {0},n,i,j,t;scanf("%d",&n);for( i = 1; i <= n; i++ ){【1】;}for( i = 1, 【2】 ; 【3】 ; i ++, j-- ){t = a[i];a[i] = a[j];a[j] = t;}for( i = 1; i <= n; i ++ ){printf("%d ",a[i]);}printf("\n");return 0;}2.下面函数的功能是统计字符串substr在字符串str中出现的次数,请阅读下面程序段并完成填空。

int count(char str[], char substr[]){int i,j,k,num=0;for (i = 0; str[i] != '\0'; i ++){【4】;for(j = 0; substr[j] != '\0'; k ++,j ++){if(【5】){break;}}if(substr[j] == '\0'){num ++;}}【6】;}13.在Windows操作系统中的“复制-粘贴-重命名”功能,可以实现将文件从一个位置复制粘贴到另外一个位置。

2014_1C语言期末考试A

2014_1C语言期末考试A

1. 运行以下程序,若输入数据为:2014↙,则输出结果为

注:用↙表示回车。
main()nf("%d", &a);
while(a)
{ t=t*10+a%10;
a/=10;
}
printf("%d", t );
}
2. 以下程序运行时的输出结果是

#include <stdio.h>
扬州大学试题纸
(2013-2014 学年第 1 学期)
全校非计算机专业统考 课程 C 及 C++语言程序设计 (闭)卷
注意:
1. 请用答题纸答题,将答案填于相应的题号内。否则不给分。 2. 请认真填写并仔细核对答题纸上的学院、系科、班级、学号及姓名等。 3. 请将试卷和答题纸分开上交。
一、 单选题(每小题 2 分,共 30 分)
C. ('a'>=c1)||('z'<=c1)
D. (c1>='a')&&(c1<='z')
5.下列语句中,能正确进行字符串赋值操作的语句是 (5) 。
A. char s1[5][ ]={"ABCDE"};
B. char s2[]={'A','B','C','D','E'};
C. char s3[ ][10]={"ABCDE"}; D. char s4[5]={'A','B','C','D','E'};

C语言2013-2014学年第一学期期末试卷解析

C语言2013-2014学年第一学期期末试卷解析

江苏大学试题(2013-2014学年第1学期)注意事项:1. 闭卷考试。

考试时间为120分钟。

2.选择题请用2B铅笔涂在答题卡上。

其余用签字笔或圆珠笔填写在答题纸上。

3.请将答题卡(提前15分钟收取)、答题纸、试卷分别都写上班级、学号、姓名、任课教师。

一、选择题(50分,每小题1分)1.标准C语言程序的文件名的后缀是。

A. .cppB. .cC. .exeD. .obj2.以下叙述正确的是_______。

A.C语言程序是由过程和函数组成的B.C语言函数可以嵌套调用,例如:fun(fun(x))(不可嵌套定义)C.C语言函数不可以单独编译(可以单独编译)D.C语言中除了main函数,其他函数不可作为单独文件形式存在3.下列可用于C语言用户标识符的一组是_______。

A.void, define, WORD B.a3_3,_123,CarC.For, -abc, IF Case D.2a, DO, sizeof(合法字符数字,下划线,字母,以下划线或字母开头,但不能是C语言关键字)4.以下选项中不能用作C程序合法常量的是_________ 。

A.1,234 B.'\123'C.123 D."\x7G"(合法常量: 整型常量,符号常量,实型常量,字符常量,转义字符,字符串常量)5.以下定义语句中正确的是_______。

A.int a=b=0; (初始化不允许连等)B.long a=65; b;C.float a=1 ; D.double a=0.0;b=1.1;6.以下叙述中正确的是______。

A. 在C程序中无论是整数还是实数,只要在允许范围内都能准确无误的表示B. 在C程序中只要是整数在允许范围内都能准确无误的表示C. 在C程序中只要是实数在允许范围内都能准确无误的表示D. 在C程序中无论是整数还是实数,都无法准确无误的表示7.设有语句int a=3;,则执行了语句a+=a-=a*a;后,变量a的值是______。

高校C语言期末考试真题附全部答案

高校C语言期末考试真题附全部答案

2014 学年第 2 学期《C语言程序设计》试卷(A卷)考试方式:闭卷本试卷考试分数占学生总评成绩的70 %复查人一、单项选择题(每题2分,共50分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的下划线“”上。

1.以下叙述正确的是A)C程序中,main函数必须位于程序的最前面B)C程序的每一行只能写一条语句C)C语言本身没有输入输出语句D)对C程序进行编译的过程中,可以发现注释中的拼写错误2.以下选项中均是合法的用户标识符是A)A B) _123 C)3Dmax D) A.datP_0 temp p-pointer la0do INT _print int3.在C语言中,字符型(char)数据在内存中存放的形式为A)BCD码 B)原码 C)补码 D)ASCII码4.已知char a;int b;float c;double d;执行语句c=a+b+c+d;后,变量c 的数据类型是A)int B)char C)float D)double5.已知int i,a;执行语句i=(a=2*3,a*5),a+6;后,变量i的值是A)36 B)30 C)12 D)66.若int x=3;且有下面的程序片断,则输出结果是A)1 B)3 0 C)1 -2 D)死循环do{ printf("%d ",x-=2);}while(!(--x));7.字符串"\\\22a,0\n"的长度是A)8 B)7 C)6 D)58.若w=1,x=2,y=3,z=4;则条件表达式w>x?w:y<z?y:z的结果是A)4 B)3 C)2 D)19.当执行下面程序时,如果输入ABC,则输出的结果是#include <string.h>main(){ char ss[10]= "12345";gets(ss);strcat(ss,"6789");printf("%s\n",ss);}A)ABC6789 B)ABC67 C)12345ABC6 D)ABC456789 10.设有说明语句int a=1,b=0;则执行以下语句后,输出结果是A)**0** B)**0****2** C)**0****1****2** D)有语法错误switch(a){ case 1:switch(b){ case 0: printf("**0**"); break;case 1: printf("**1**"); break;}case 2: printf("**2**"); break;}11.以下不是死循环的语句是A)for(;;x+=i); B)while(1){x++;}C)for(i=10;;i--) D)for(;(c=getchar())!='\n';)sum+=i; printf("%c",c);12.下列程序的输出结果是A)13;1 B)14;4 C)11;1 D)10;0main(){ int a=10, b=0;if(a=12){ a=a+1; b=b+1;}else{ a=a+4;b=b+4; }printf("%d,%d\n",a,b);第 1 页共6 页}13.下面关于字符串的说明中,错误的是A)char str[7]="FORTRAN";B)char str[]="FORTRAN";C)char *str="FORTRAN";D)char str[]={'F','O','R','T','R','A','N'}14.已知:int a[10];则对a数组元素的正确引用是A)a[10] B)a[3.5] C)a(5) D)a[10-10]15.在C语言中A)不能使用do-while语句构成的循环B)do-while语句构成的循环必须用break语句才能退出C)do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D)do-while语句构成的循环,当while语句中的表达式值为零时结束循环16.下列程序的输出结果是A)13 B)15 C)11 D)12#define FUDGE(y) 1.2+y#define PR(a) printf("%d",(int)(a))main(){ int x=2;PR(FUDGE(5)*x);}17.C语言中的函数A)可以嵌套定义 B)不可以嵌套调用C)可以嵌套调用,但不能递归调用 D)嵌套调用和递归调用均可18.若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是A) abs(x-y)<10 B) x-y>-10&& x-y<10C) @(x-y)<-10||!(y-x)>10 D) (x-y)*(x-y)<10019.已知int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int (*ptr)[3]=a,*p=a[0];则以下不能够正确表示数组元素a[1][2]的表达式是A)*((ptr+1)[2] ) B)*(*(p+5))C)(*ptr+1)+2 D)*(*(a+1)+2)20.以下函数的功能是void fun(char *p2, char *p1){ while((*p2=*p1)!='\0') { p1++;p2++; } }A)将p1所指字符串复制到p2所指内存空间B)将p1所指字符串的地址赋给指针p2C)对p1和p2两个指针所指字符串进行比较D)检查p1和p2两个指针所指字符串中是否有'\0'21.写字符到磁盘文件的fputc(ch,fp)函数(ch表示字符,fp表示文件指针),其函数原型(头)正确的是A) FILE *fputc(char) B) int fputc(FILE *)C) int fputc(char, FILE *) D) int fputc(FILE *,char)22. 设有如下定义:struct sk{ int a;float b; }data,*p;若有p=&data;,则对data中的a域的正确引用是A)(*p).data.a B)(*p).a C)p->data.a D)p.data.a23.已知函数原型为:struct tree *func(int x1,int *x2,struct tree x3,struct tree *x4)其中 tree 为已定义过的结构,且有下列变量定义:struct tree pt,*p; int i;请选择正确的函数调用语句A) &pt=func(10,&i,pt,p) B) p=func(i++,&i,pt,&pt);C) p=func(i+1,&(i+2),*p,p); D) func(i+1,&i,p,p);24.下列程序的输出结果是A)AB B)BA C)AA D)BBvoid sub(char *a, char *b){ char c;c=*a; *a=*b; *b=c;}main(){ char a, b;a='A'; b='B';sub(a,b);printf("%c%c\n", a,b); }25.在Turbo C集成环境中,若一个源程序输入后没有错误,则按Ctrl+F9后A)将源程序存到当前目录B)依次产生.OBJ和.EXE文件,但不运行程序C)依次产生.EXE和.OBJ文件,并运行程序D)依次产生.OBJ和.EXE文件,并运行程序二、程序填空题(每空2分,共20分)下面给出了若干个程序,请按照题意将下划线处缺少的部分补上,使其能正确运行。

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

C语言模拟试题一一、填空题1、C语言中基本的数据类型有:__________、__________ 、__________ 。

2、C语言中普通整型变量的类型说明符为__________,在内存中占__________字节,有符号普通整型的数据范围是__________。

3、整数-35在机内的补码表示为_____ _____。

4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是__________ 。

5、有如下语句:char A[ ]={“I am a student”}; 该字符串的长度是__________,A[3]=__________ 。

6、符号”a”和’a’的区别是__________。

7、所谓“指针”就是__________ 。

“&”运算符的作用是__________。

“*”运算符的作用是__________ 。

8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是__________。

二、选择题1、设整型变量a为5,使b不为2的表达式是()。

A. b=a/2B. b=6-(--a)C. b=a%2D. b=a>3?2:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与()组成配对关系。

A. 缩排位置相同的ifB. 在其之前未配对的ifC. 在其之前未配对的最近的ifD.同一行上的if3、以下程序的输出结果是( )。

int x=10,y=10;printf(“%d %d\n”,x--,--y);A. 10 10B. 9 9C. 9 10D. 10 94、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为()。

A.P+i*2B. P+(i-1)*2C. P+(i-1)D. P+i5、选出下列标识符中不是合法的标识符的是()。

A. hot_doB. cat1C. _priD. 2ab6、以下程序的输出结果是()。

int a=5;float x=3.14;a*=x*(‘E’ - ‘A’);printf(“%f\n”,(float)a);A. 62.000000B. 62.800000C. 63.000000D. 627、设有说明double (*p1)[N];其中标识符p1是()。

A. N个指向double型变量的指针。

B. 指向N个double型变量的函数指针。

C. 一个指向由N个double型元素组成的一维数组的指针。

D.具有N个指针元素的一维指针数组,每个元素都只能指向double型量。

8、在C程序中有如下语句:char *func(int x,int y); 它是()。

A. 对函数func的定义。

B. 对函数func的调用。

C.对函数func的原型说明。

D. 不合法的。

9、以下程序的输出结果是()。

char str[15]=”hello!”;printf(“%d\n”,strlen(str));A. 15B. 14C. 7D. 610、分析以下程序的输出结果是()。

main(){ int a=5,b=-1,c;c=adds(a,b);printf(“%d”,c);c=adds(a,b);printf(“%d\n”,c); }int adds(int x,int y){static int m=0,n=3;n*=++m;m=n%x+y++;return(m); }A. 2,3B. 2,2C. 3,2D. 2,411、下列描述中不正确的是()。

A. 字符型数组中可能存放字符串。

B. 可以对字符型数组进行整体输入、输出。

C. 可以对整型数组进行整体输入、输出。

D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。

12、以下程序的输出结果是()。

#define f(x) 3*xmain(){int a=6,b=2,c;c=f(a)/f(b);printf(“%d\n”,c);}A. 9B. 6C. 36D. 1813、设有如下定义: int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是()。

A. 1B. 0C. 4D. 314、定义如下变量和数组:int i;int x[3][3]={1,2,3,4,5,6,7,8,9};则语句for(i=0;i<3;i++) printf("%d ",x[i][2-i]); 的输出结果是()。

A. 1 5 9B. 1 4 7C. 3 5 7D. 3 6 915、以下对二维数组a进行正确初始化的是()A. int a[2][3]={{1,2},{3,4},{5,6}};B. int a[ ][3]={1,2,3,4,5,6};C. int a[2][ ]={1,2,3,4,5,6};D. int a[2][ ]={{1,2},{3,4}};16、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是()。

int x;scanf("%d",&x);if(x++>5) printf("%d",x);else printf("%d\n",x - -);A. 7和5B. 6和3C. 7和4D. 6和417、设有如下定义:char *aa[2]={"abcd","ABCD"}; 则以下说法中正确的是()。

A)aa数组成元素的值分别是"abcd"和ABCD"B)aa是指针变量,它指向含有两个数组元素的字符型一维数组C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D)aa数组的两个元素中各自存放了字符'a'和'A'的地址18、下列程序的输出结果是()。

char *p1="abcd", *p2="ABCD", str[50]="xyz";strcpy(str+2,strcat(p1+2,p2+1));printf("%s",str);A. xyabcABB. abcABzC. ABabczD. xycdBCD19、下列程序的输出结果是()。

int a[5]={2,4,6,8,10},*p,* *k;p=a; k=&p;printf("%d",*(p++));printf("%d\n",* *k);A. 4 4B. 2 2C. 2 4D. 4 620、不能把字符串:Hello!赋给数组b的语句是()。

A. char b[10]={'H','e','l','l','o','!'};B. char b[10]; b="Hello!";C. char b[10]; strcpy(b,"Hello!");D. char b[10]="Hello!";三、读程序题1、float f=3.1415927;printf(“%f,%5.4f,%3.3f”,f,f,f);则程序的输出结果是___ _______ 。

2、int x=6, y=7;printf(“%d,”,x++);printf(“%d\n”,++y);程序的输出结果是__________ 。

3、a=3;a+=(a<1)?a:1;printf(“%d”,a);结果是__________。

4、for (a=1,b=1;a<=100;a++){ if(b>=20) break;if(b%3==1){b+=3; continue;}b-=5; }程序的输出结果a的值为__________ 。

5、 int y=1, x, *p, a[ ]={2,4,6,8,10};p=&a[1];for(x=0;x<3;x++)y + = * (p + x);printf("%d\n",y);程序的输出结果y的值是__________ 。

四、程序填空题1、从键盘上输入10个数,求其平均值。

main(){int i;float f,sum;for(i=1,sum=0.0;i<11;i++){_ _________ ;__________ ; }printf(“average=%f\n”,sum/10); }2、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。

#includemain(){ FILE *fp;char c;fp=__________ ;do{c=getchar();fputs(c,fp);}while(c!=EOF);__________ }3、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入.请填空. main(){ float x,amax,amin;scanf("%f",&x);amax=x; amin=x;while( ){ if(x>amax) amax=x;if( ) amin=x;scanf("%f",&x); }printf("\namax=%f\namin=%f\n",amax,amin); }五、编程题1.三个整数a、b、c,由键盘输入,输出其中最大的一个数。

2.输出1900~2000年中所有的闰年。

每输出3个年号换一行。

(判断闰年的条件为下面二者之一:能被4整除,但不能被100整除。

或者能被400整除。

)3.请编一个函数int fun(int a),它的功能是:判断a是否是素数,若a是素数,返回1;若不是素数,返回0。

a的值由主函数从键盘读入。

4.有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。

参考答案一、填空题(1)整型、实型、字符型。

(2) int , 2 , -32768~ +32767(3) 1111111111011101 (4) - 112 (5)14,’m’(6) ”a”是字符串常量,而’a’是字符常量。

相关文档
最新文档