厦门理工学院c语言程序设计期末试题ABC(含答案) 考试卷子

合集下载

《C语言程序设计》期末考试(卷A卷B附答案)

《C语言程序设计》期末考试(卷A卷B附答案)

《C语言程序设计》期末考试(卷A/卷B/附答案)《C语言程序设计》期末考试卷A(附答案)一、单项选择题1. 指针s所指字符串的长度为char *s="\\"Name\\Address\n";A) 19 B) 15 C) 18 D)说明不合法2. 若有下面的程序片段:int a[12]={0}, *p[3], **pp, i;for(i=0; i<3; i++)p[i]=&a[i*4];pp=p;则对数组元素的错误引用是A) pp[0][1] B) a[10] C) p[3][1] D) *(*(p+2)+2)3. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为A) a<>0 B) !a C) a=0 D) a4. 若已定义:int a[ ]={0,1,2,3,4,5,6,7,8,9], *p=a,i;其中0≤i≤9, 则对a数组元素不正确的引用上A) a[p-a] B) *(&a[i]) C) p[i] D) a[10]5. 以下程序的输出结果是main( ){ int x=10,y=10,I;for(i=0;x>8;y=++i)printf("%d,%d ",x--,y);}A) 10 1 9 2 B) 9 8 7 6 C) 10 9 9 0 D) 10 10 9 16. 下面程序的输出是void prtv(int *x)printf("%d\n", ++*x);}main(){ int a=25;prtv(&a);}A) 23 B) 24 C) 25 D) 267. 下面能正确进行字符串赋值操作的语句是A)char s[5]={"ABCDE"}; B)char s[5]={'A'、'B'、'C'、'D'、'E'};C) char *s;s="ABCDEF"; D)char *s; scanf("%s",s);8. 设x,y,z,t均为int型变量,则执行以下语句后,t的值为x=y=z=1;t=++x||++y&&++z;A)不定值B)2 C)1 D)09. 设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是A)k=*p1+*p2; B)p2=k;C)p1=p2; D)k=*p1 *(*p2);10. 请读程序:#include<stdio.h>#define SUB(X,Y) (X)*Ymain(){ int a=3, b=4;printf("%d", SUB(a++, b++));}上面程序的输出结果是A) 12 B) 15C) 16 D) 2011. sizeof(float)是:A)int B)float C)double D)不确定12. 若执行下面的程序时从键盘上输入3和4,则输出是main(){ int a,b,s;scanf("%d %d",&a,&b);s=a;if(a<b)s=b;s=s*s;printf("%d\n",s);}A)14 B) 16 C) 18 D) 2013. 以下程序的输出结果是# include <stdio.h>main(){ printf("%d\n",NULL); }A) 不确定的(因变量无定义)B)0 C)-1 D)114.请读程序:#include<stdio.h>f(char *s){ char *p=s;while( *p!='\0') p++;return(p-s);}main(){ printf("%d\n",f("ABCDEF"));}上面程序的输出结果是A) 3 B) 6 C) 8 D) 015. 下面各语句行中,能正确进行赋字符串操作的语句行是A) char st[4][5]={"ABCDE"}; B) char s[5]={'A','B','C','D','E'};C) char *s; s="ABCDE"; D) char *s; scanf("%s",s);16. 若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是A) *p=&a;scanf("%ld",p);B) p=(long *)malloc(8);scanf("%ld",p);C) scanf("%ld",p=&a);D) scanf("%ld",&a);17. 若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1] 地址的表达式是A) p+1 B) a+1 C) a++ D) ++p18. 下面程序的输出是main(){ enum team {my,your=4,his,her=his+10};printf("%d %d %d %d\n",my,your,his,her);}A) 0 1 2 3 B) 0 4 0 10 C) 0 4 5 15 D) 1 4 5 1519. 以下程序输出结果是main( ){ int m=5;if(m++>5)printf("%d\n",m);else printf("%d\n",m--); }A)7 B)6 C)5 D)420. 以下程序运行后,输出结果是int d=1;fun(int p){ int d=5;d+=p++;printf("%d",d);}main(){ int a=3;fun(a);d+=a++;printf("%d\n",d);}A)84 B)99 C)95 D)4421.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。

(完整版)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”的表达式是:。

厦门理工学院c语言复习题,答案仅供参考

厦门理工学院c语言复习题,答案仅供参考

C程序设计期末复习思考题一、选择题:1 一个C语言程序是由______B___。

A)一个主程序和若干个程序组成B)函数组成C)若干过程组成D)若干子程序组成2已知各变量的类型说明如下:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是______D____。

A)a+=a-=(b=4)*(a=3) B) a=a*3=2C) x%(-3) D) y=float(i)3以下不正确的语句为___B_______。

A) if (x > y); B) if (x = = y) && (x != 0) x + = y;C) if (x < y) { x ++; y++;} D) if (x != y) scanf(“ %d ”,&x);else scanf(“ %d ”,&y);)4C语言中while 和do —whiloe循环的主要区别是_____A______。

A)do —while 的循环体至少无条件执行一次B)while 的循环控制条件比do—while 的循环控制条件严格C)do —while 允许从外部转到循环体内D)do —while 的循环体不能是复合语句5 下面程序应该是_____D___ (程序行左边的数字表示行号)1main( ) 5 for( i=0;i<3;i++) scanf( “%d”,&a[i]);2{ 6 for(i=1;i<4;i++) a[0] = a[0] + a[i];3int a[3]={0}; 7 printf(“%d\n”, a[0]);4int i; 8 }A)没有错误B)第3 行有错误C)第5 行有错误D)第6 行有错误6 以下程序有语法性错误,有关错误原因的正确说法是____________。

main( ){ int G=5,k;void prt_char( );……k=ptr_char(G);……}A)语句void ptr_char( ); 有错,它是函数调用语句,不能用void 说明B)变量名不能使用大写字母C)函数说明和函数调用语句之间有矛盾D)函数名不能使用下划线7若有以下定义,则对a数组元素正确引用的是___A_________。

2022年厦门理工学院公共课《C语言》科目期末试卷A(有答案)

2022年厦门理工学院公共课《C语言》科目期末试卷A(有答案)

2022年厦门理工学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、与表达式x^=y-2等价的另一书写形式是_______。

2、结构化程序由________、________ 、________ 3种基本结构组成。

3、C语言的源程序必须通过【】和【】后,才能被计算机执行。

4、在C语言的赋值表达式中,赋值号左边必须是_______5、若有定义语句:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为_______6、以下程序的运行结果是_______。

#include <stdio.h>int main(){char s[]="ab\'cdefg\",*p=s+1;printf("%c”,*(p++));printf("%s",p+2);return(0);}7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。

函数中错误的部分是_______,改正后为_______。

void add(float a,float b){float c;c=a+b;return c;}8、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。

9、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。

union{int n;doublex;}num;num.n=10;num.x=10.5;printf("_______",_______);10、下面程序段的运行结果是_______。

char ch[]="600";int a,s=0;for(a=0;ch[a]>= '0'&&ch[a]<='9';a++)s=10*s+ch[a]-'o';printf("%d",s);二、选择题11、下面4个选项中,是合法转义字符的选项是( )。

C语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,正确的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 函数必须有参数答案:C3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 下列关于数组的描述中,错误的是?A. 数组可以是多维的B. 数组的下标从0开始C. 数组的大小在编译时确定D. 数组可以动态分配答案:D5. C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. void答案:C6. 在C语言中,以下哪个关键字用于定义一个静态变量?A. staticB. externC. registerD. auto答案:A7. 下列关于C语言中文件操作的描述中,正确的是?A. 文件操作只能使用标准库函数B. 文件指针必须使用FILE类型C. 文件操作必须使用fclose函数关闭文件D. 文件操作不能使用缓冲区答案:B8. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. typedefC. enumD. struct答案:A9. 下列关于C语言中位运算的描述中,错误的是?A. & 表示按位与B. | 表示按位或C. ^ 表示按位异或D. ~ 表示按位取反答案:B10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的内存空间通常是______个字节。

答案:42. C语言中,使用______关键字可以定义一个无限循环。

答案:while3. C语言中,数组的元素默认初始化为______。

完整word版,C语言程序设计期末考试试题(含答案)

完整word版,C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( )A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是( )A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是( )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( ) 。

#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( )#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。

厦门理工学院C语言期末考试

厦门理工学院C语言期末考试

期末复习---C语言尹凤1、#include<stdio.h>Int main(){Int i,j;For(i=1;i<=5;i++){For(j=1;j<=i;j++)Printf("*");For(j=1;i<=(5-i);j++)Printf(" ");Printf("\n");}Return 0;}2、#include<stdio.h>int main(){int i,j;for(i=1;i<=5;i++){for(j=1;j<=2;j++)printf("*");printf("\n");}return 0;}3、#include<stdio.h>int main(){int i,j;for(i=1;i<=5;i++){for(j=1;j<=i;j++)printf(" ");for(j=1;j<=(2*i-1);j++)printf("*");printf("\n");}return 0;}4、#include<stdio.h>int main(){int i,j;for(i=1;i<=5;i++){for(j=1;j<=(5-i);j++)printf(" ");for(j=1;j<=(2*i-1);j++)printf("*");printf("\n");}return 0;}5、#include<stdio.h>void main(){struct PEOPLE{char name[20];int num;float salary;}people[5];int i;for(i=1;i<=5;i++){printf("Input all information about the NO.%d people:\n",i);gets(people[i].name);scanf("%d,%f",&people[i].num,&people[i].salary);getchar();}printf("\n%-20s%-10s%-10s%\n","Name","Nu m","Salary");for(i=1;i<=5;i++)printf("%-20s%-10d%-6.2f\n",people[i].name, people[i].num,people[i].salary);if(people[i].num>=30)people[i].salary=people[i].salary+100;printf("%-20s%-10d%-6.2f\n",people[i].name, people[i].num,people[i].salary);}6、#include<stdio.h>#define N 8int main(){float score[N]={3,4,5,7,8,6,4,5},max,min,sum=0; int i;for(i=0;i<N;i++){if(score[i]<max) max=score[i];if(score[i]>min) min=score[i];sum=sum+score[i];}sum=(sum-max-min)/(N-2); printf("%.2f",sum);return 0;}/*不知道错在哪里?*/7、#include<stdio.h>void main(){char grade;grade='B';switch(grade){case 'A':printf("excellent"); case 'B':printf("pass\n");case 'C':printf("failure");}8、#include<stdio.h>int main(){float score[11],sum=0;/**用一个数组score来储存11位评委的得分**/int i,max,min;printf("\nEnter 11 score:");for(i=0;i<11;i++)scanf("%f",&score[i]);max=min=score[0];/******把第一个得分作为最高分与最低分*****/for(i=0;i<11;i++){if(score[i]>max) max=score[i];else if(score[i]<min) min=score[i];/*需要将最高份和最低分表示出来*/sum=sum+score[i];}/*计算总分用循环结构来计算*/ sum=(sum-max-min)/(11-2);printf("\nFinal score is %6.2f",sum); return 0;}}。

2022年厦门理工学院公共课《C语言》科目期末试卷B(有答案)

2022年厦门理工学院公共课《C语言》科目期末试卷B(有答案)

2022年厦门理工学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。

请填空。

a+=_______;b=a-_______;a-=_______;2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。

3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、在C语言中的实型变量分为两种类型,它们是_______和_______。

5、在C语言中,用关键字_______定义单精度实型变量,用关键字_______定义双精度实型变量,用关键字_______定义字符型变量。

6、请读程序段:int a=1,b=2;if(a&b)printf("***\n");else printf("$$ $\n");以上程序段的输出结果是_______。

7、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。

请填空。

for(x=0;x<=30;x++){y=30一x;if(_______)printf("%d,%d\n",x,y);}8、下面程序段的运行结果是_______。

int i=5;char c[6]="abcd";do{c[i]=c[i-1];}while(--i>0);puts(c);9、设有宏定义如下:#define MIN(x,y)(x)>(y)?(x):(y)#define T(x,y,r)x*r*y/4则执行以下语句后,s1的值为_______,s2的值为_______。

int a=1,b=3,c=5,s1,s2;s1=MIN(a=b,b-a);s2=T(a++,a*++b,a+b+c);10、若想输出b数组的10个元素,则下面存在错误的程序行是_______。

大学《C语言程序设计》期末考试试题题库(带详解答案)

大学《C语言程序设计》期末考试试题题库(带详解答案)

一、单项选择题1.若有以下说明语句:struct date{ int year;int month;int day;}brithday;则下面的叙述不正确的是__C___.A) struct是声明结构体类型时用的关键字B) struct date 是用户定义的结构体类型名C) brithday是用户定义的结构体类型名D) year,day 都是结构体成员名2. 以下对结构变量stul中成员age的非法引用是Bstruct student{ int age;int num;}stu1,*p;p=&stu1;A) stu1.age B) student.age C) p->age D) (*p).age3.设有如下定义:struck sk{ int a;float b;}data;int *p;若要使P指向data中的a域,正确的赋值语句是CA) p=&a; B) p=data.a; C) p=&data.a; D)*p=data.a;4.设有以下说明语句:typedef struct stu{ int a;float b;} stutype;则下面叙述中错误的是(D)。

A、struct是结构类型的关键字B、struct stu是用户定义的结构类型C、a和b都是结构成员名D、stutype是用户定义的结构体变量名5.语句int *p;说明了 C 。

A)p是指向一维数组的指针B)p是指向函数的指针,该函数返回一int型数据C)p是指向int型数据的指针// 指针的定义教材P223D)p是函数名,该函数返回一指向int型数据的指针6.下列不正确的定义是(A)。

A.int *p=&i,i;B.int *p,i;C.int i,*p=&i; D.int i,*p;选项A先定义一个整型指针变量p,然后将变量i的地址赋给p。

然而此时还未定义变量i因此编译器无法获得变量i的地址。

完整C语言程序设计期末考试试题含答案推荐文档

完整C语言程序设计期末考试试题含答案推荐文档

C 语言程序设计期末考试试题及其答案一、单项选择题(本大题共20 题,每题 2 分,共40分)1、以下不是C 语言的特点的是( )A、 C 语言简洁、紧凑B、能够编制出功能复杂的程序C、 C 语言可以直接对硬件进行操作D、 C 语言移植性好2、以下不正确的C 语言标识符是( )A、ABC B 、abc C、a_bc D、ab.c3、一个C 语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5 个特性,对另外4 个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a 是整型,f 是实型,i 是双精度型,则表达式10+‘a'+i*f 值的数据类型为( )A、intB、float C 、double D、不确定6在C语言中,char型数据在内存中的存储形式是()A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678V。

只>后(<CR>表示回车),x的值是( ) 。

#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是()A、a=1,b=2B、b++;C 、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include<stdio.h>{int i=10,j=10; printf("%d,%d\n",++i,j--);}A 、11,10B 、9,10C 、11,9D 、10,910、巳知字母 A 的ASCII 码是65,以下程序的执行结果是( ) #include<stdio.h>main() { char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、vB、十C、%D、!=12、设x、y和z是int型变量,且x = 3, y = 4, z= 5,则下面表达式中值为0 是( ) 。

厦门理工学院C语言程序设计期末测试题及答案(5套)

厦门理工学院C语言程序设计期末测试题及答案(5套)

if(c>=’a’&&c<=’z’)
c=c-32;
# else
if(c>=’A’&&c<=’Z’)
c=c+32;
# endif
printf(“%c”,c);
}
上面程序的运行结果是:
A) C Language
B) c language
C) C LANGUAGE D) c lANGUAGE
20. 假定以下程序经编译和连接后生成可执行文件 PROG.EXE,如果在此可执行文件所 在目录的 DOS 提示符下键入: PROG ABCDEFGH IJKL<回车>,则输出结果为 A) ABCDEFG B) IJHL C) ABCDEFGHIJKL D) IJKLABCDEFGH main( int argc, char *argv[])) { while(--argc>0) printf("%s",argv[argc]);
D)switch (a+b);
{ case 1:printf("\n");
{ case 1:printf(."*\n");
case 1+2:printf("**\n");
case 2:printf("**\n");
}
}
11.以下程序运行后,如果从键盘上输入 ABCDE,则输出结果为
A) 8 B)7 C)6 D)5
A)k=3 a=2 b=3 B)k=3 a=3 b=2 C)k=2 a=3 b=2 D)k=2 a=2 b=3
9.下面程序的输出是
main()
{ unsigned a=32768;

(完整版)C语言程序设计期末考试卷及答案,推荐文档

(完整版)C语言程序设计期末考试卷及答案,推荐文档

a=2,b=2 13.若有定义 int
后,i 的值为( )。
C)a=2,b=1
D)
i = 1;,执行语句 while ( i < 10 ) i++;
16. 若有以下定义:float t[5][4];,能正确引用 t 数组元素的表达式是(
)。
A)9
B)10
C)11
D)12
14.有说明语句 int a[ ]={1,2,3,4,5};,则数组 a 包括了(
中通过赋值运算符“=”对字符数组整体赋 值D)不可以用关
系运算符对字符数组中的字符串进行比较
D)t[0,0] D)21
19. 设有宏定义#define Y(x) (x)+ 2 ,则下面程序段的运行结果是(
)。
int a = 2,b = 2,c = 1;
printf("%d\n",a * Y( b + c )
)。
A)24
B) -24
C)4
D)16
4. 已知 int i;float d;,则正确的表达式是(
)。
A)(int d)
B)int(d)%i C)(int)d%i
D)int(d%i)
5. 已知 int i,a;,执行语句 i=(a=3*9,a/5),a+11; 后,变量 i 的值是(
)。
A)5
B)16
B) extern
C) static
6. 下列选项中合法的字符型常量是(
A)"a"
B)'\n'
C)27 )。
C)"\n"
D)38 D)a
第 1 页 共 9页

c程序设计期末考试试题及答案

c程序设计期末考试试题及答案

c程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. 下面哪个选项是C语言中的关键字?A. intB. floatC. stringD. array答案:A2. C语言中,下列哪个运算符用于比较两个值是否相等?A. ==B. =C. !=D. %答案:A3. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoi()B. atof()C. itoa()D. sprintf()答案:B4. 下列哪个选项是正确的C语言变量声明?A. int num = 10;B. int num = "10";C. int num = '10';D. int num = 10.0;答案:A5. C语言中,以下哪个语句用于循环执行代码块?A. forB. whileC. ifD. switch答案:A6. 在C语言中,以下哪个函数用于计算数组中元素的总和?A. sum()B. count()C. average()D. max()答案:A7. 下列哪个选项是C语言中正确的注释格式?A. // 这是注释B. /* 这是注释 */C. //* 这是注释 */D. /* 这是注释答案:A8. 在C语言中,如何定义一个指向整数的指针?A. int *p;B. int *p = 0;C. int *p = 10;D. int p = 10;答案:A9. 在C语言中,以下哪个选项是正确的函数定义?A. int function() {}B. int function() { return 0; }C. int function() { return; }D. int function() { return 1; }答案:B10. 下列哪个选项是C语言中正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, WorldD. 'Hello, World'答案:A二、填空题(每题3分,共15分)1. 在C语言中,使用________运算符可以交换两个变量的值。

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC classD char答案:C解析:在 C 语言中,class 不是关键字,int、float 和 char 都是常见的数据类型关键字。

2、以下变量定义中,正确的是()A int a=b=5;B char a='A';C float a=55, b=66;D double a; b;答案:C解析:A 选项中不能在定义时连续赋值;B 选项应该是 char a ='A';注意单引号;D 选项应该是 double a, b; 中间用逗号分隔。

3、以下程序段的输出结果是()```cint a = 5, b = 4, c = 6;if (a > b && a > c)printf("a 最大\n");else if (b > a && b > c)printf("b 最大\n");elseprintf("c 最大\n");```A a 最大B b 最大C c 最大D 编译错误答案:C解析:因为 5 不大于 6,所以执行 else 部分,输出“c 最大”。

4、以下循环语句执行的次数是()```cfor (int i = 0; i < 5; i++){printf("%d ", i);}```A 4 次B 5 次C 6 次D 无限次答案:B解析:从 0 到 4 ,一共 5 次。

5、以下数组定义中,正确的是()A int a5 ={1, 2, 3, 4, 5, 6};B int a ={1, 2, 3};C int a5 ={1, 2};D int a3 =(1, 2, 3);答案:B解析:A 选项数组长度为 5,却初始化了 6 个元素;C 选项只初始化了前两个元素,后面三个元素默认为 0;D 选项初始化方式错误,应该用花括号。

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( B)A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是(D )A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由(B )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是(B )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为(C )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是(D )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( B) 。

#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是(B )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( A)#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( D)#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( C)A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( D) 。

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 2 分,共 40 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。

2、以下能正确表示八进制整数的是()A 0o123B 0123C 0x123D 123答案:B解释:在 C 语言中,八进制整数以数字 0 开头,所以 0123 是八进制整数。

3、以下变量定义中,合法的是()A int a=b=1;B char a='\0';C float 2a;D double a&;答案:B解释:A 选项中不能连续赋值;C 选项变量名不能以数字开头;D 选项变量名不能包含特殊字符&。

4、若有定义:int a=5, b=2; 则表达式 a/b 的值是()A 25B 2C 20D 3答案:B解释:C 语言中,两个整数相除结果为整数,舍去小数部分。

5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2对应的值是 3 。

6、以下关于函数的叙述中,正确的是()A 函数可以嵌套定义B 函数可以嵌套调用C 函数可以没有返回值D 以上都不对答案:C解释:函数不能嵌套定义,但可以嵌套调用。

函数可以没有返回值,此时函数类型为 void 。

7、若有以下函数定义:```cint fun(int a, int b){return a + b;}```则调用 fun(1, 2)的返回值是()A 1B 2C 3D 4答案:C解释:函数 fun 实现了两个整数的相加,所以 fun(1, 2)的返回值是3 。

8、以下关于指针的叙述中,错误的是()A 指针可以指向变量B 指针可以指向数组C 指针可以指向函数D 指针不可以进行加减运算答案:D解释:指针可以进行加减运算,但运算的结果要根据指针所指向的数据类型来确定。

C语言程序设计期末考试卷及答案.doc

C语言程序设计期末考试卷及答案.doc

..C语言程序设计期末考试卷及答案一、单项选择题。

从A 、B 、C 、D 四个选项中,选择一个最佳答案填入括号内( 每小题1分,共计30分)。

1.一个C 语言程序的执行是从( )。

A )本程序文件的第一个函数开始,到本程序文件的最后一个函数结束B )本程序的main 函数开始,到main 函数结束C )本程序的main 函数开始,到本程序文件的最后一个函数结束D )本程序文件的第一个函数开始,到本程序的main 函数结束2.下列选项中不属于...C 语言关键字的是( )。

A )switch B )printf C )default D )case3.设有语句 int a = 4; ,则执行了语句 a += a -= a * a; 后,变量a 的值是( )。

A )24B ) -24C )4D )164.已知int i;float d;,则正确的表达式是( )。

A )(int d)B )int(d)%iC )(int)d%iD )int(d%i)5.已知int i,a;,执行语句i=(a=3*9,a/5),a+11; 后,变量i 的值是( )。

A )5B )16C )27D )386.下列选项中合法的字符型常量是( )。

A )"a"B )'\n'C )"\n"D )a7.下面程序的运行结果是( )。

#include <stdio.h> void main( ) { int k = 15;printf("k = %d,k = %o,k = %x\n",k,k,k); }A )k = 15,k = 15,k = 15B )k = 15,k = 17,k = 17C )k = 15,k = 017,k = 0xfD )k = 15,k = 17,k = f8.已知a,b,c 为int 类型,执行语句:scanf ("%d%d%d",&a,&b,&c );使得a 为10,b 为20,c 为30,以下不正确...的输入形式是( )。

c程序设计大学期末考试题及答案

c程序设计大学期末考试题及答案

c程序设计大学期末考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于声明函数?A. intB. floatC. returnD. void答案:D2. 在C语言中,以下哪个运算符用于逻辑与操作?A. &&B. ||C. !D. %答案:A3. 若有定义int a=5;,则表达式a++的值为多少?A. 4B. 5C. 6D. 0答案:B4. 在C语言中,以下哪个函数用于计算字符串的长度?A. strcatB. strcmpC. strcpyD. strlen答案:D5. 下面哪个选项是C语言中的合法整型常量?A. 0x12B. 0x1zC. 0x1.2D. 0x1.2e答案:A6. C语言中,以下哪个选项是正确的二维数组声明?A. int a[3,4];B. int a[3][4];C. int a[3][];D. int a[][];答案:B7. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello World!"D. 'Hello World!'答案:A8. 若有定义char c='A';,则表达式c+32的值为多少?A. 65B. 97C. 66D. 98答案:B9. 在C语言中,以下哪个选项是正确的结构体声明?A. struct Student {int age; char name[20];} stu;B. struct {int age; char name[20];} stu;C. struct Student {int age; char name[20];} stu[];D. struct {int age; char name[20];} stu[];答案:A10. 在C语言中,以下哪个选项是正确的指针声明?A. int *p;B. *int p;C. int *p[];D. int (*p)[];答案:A二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个无返回值的函数的关键字是________。

厦门理工学院试卷-C语言程序设计-2011-2012学年-第1学期

厦门理工学院试卷-C语言程序设计-2011-2012学年-第1学期

,请填空。

线 订 装高级语言程序设计A卷答案二、程序填空题:(本题共10小题,每空2分,共20分)1. int t2. a=b3. 14. (2.0*i)* (2.0*i) 注明:一定要用一个2.0,否则扣1分5. i++6. N-17. i+18. a[i]<a[j]9. 10. b.score[i]三、程序阅读题(本题共5小题,每题4分,共20分)1、192、163、64、BOC5、10 20 30四、设计题:(本题共3小题,每题10分,共30分)1、#include<stdio.h> // 1分void main() // 1分{int x,y; //1分printf("please input x"); //1分scanf("%d",&x); //1分if(x>0) //2分y=x*x+2*x+1;if(x= =0) //1分y= -7;if(x<0) //2分y=3*x-5;printf("\ny is %d",y);}2、#include <stdio.h>#define N 1000void main( ){int i,j,num[N]; //1分for(i=0;i<N;i++) // 2分num[i]=i+1;num[0]=0; //1分for(i=1;i<N;i++)if(num[i]!=0) //1分for(j=i+1;j<N;j++){ if(num[j]!=0 &&num[j]%num[i]==0) //2分num[j]=0;}j=0;for(i=1;i<N;i++) //1分if(num[i]!=0) //1分{ printf("%d ",num[i]);j++;if(j%5==0) printf("\n"); //1分}}3、#include <stdio.h>int reverse(int);//1分,若函数先定义后调用,直接加1分void main( ){int num;printf("\n请输入您的数据:\n");scanf("%d",&num); //1分printf("\n该数的逆序数为:%d\n",reverse(num)); //函数调用和结果输出2分}int reverse(int number) //1分{ int n=0;while (number > 0) //1分{n=n*10+number%10; //2分number /= 10; //1分}return (n); //1分}。

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

c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1. 一个C程序的执行是从( )。

A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2. 下列选项中,不能用作标识符的是( )。

A) _1234_ B) _1_2 C) int_2_ D) 2_int_3. 以下定义语句中正确的是( )。

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’;则下面语句中错误的是()。

A) a++; B) b++ C) c++; D) d++;5. 以下4个选项中,不能作为一条C语句的是( )。

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;若各变量已正确赋值,则下列选项中正确的表达式是( )。

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;则以下选项中,正确的赋值语句是( )。

A) p=1; B) *q=2; C) q=p; D) *p=5;8. 设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( )。

A) scanf(“%d”,pa) ; B) scanf(“%d”,a) ;C) scanf(“%d”,&pa) ; D) scanf(“%d”,*pa);9. 若有说明:char *language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式*language[1]>*language[2]比较的是()。

A)字符B和字符P B) 字符串FORTRAN和字符串BASICC)字符F和字符B D) 字符串BASIC和字符串PASCAL10. 执行语句for(i=1;i++<4;);后变量i的值是( )。

A) 3 B)4 C) 5 D) 不定一、填空题(每空2分,共18分)1. 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值为。

2. 有程序段:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b; b=p[5]; 则b中的值是。

3. 函数swap(int x,int y)实现对x和y值的交换。

则执行语句{int a[2]={1,2}; swap(a[0],a[1]);}后,a[0]= ,a[1]= 。

4. 设有以下宏定义:#define f(z) z*z,执行赋值语句k=f(4+4)/f(2+2);(k为int型变量)后,k的值是。

5. 书写语句求a, b两个数的最大值max。

? : ;6. 若x为int型变量,则执行x=7; x+=x-=x+x; 语句后,x的值是。

二、读程序写结果(每题6分,共24分)1. 有以下程序int f(int a){ int b=0;static c=3;b=b+1;c=c+1;return(a+b+c);}void main(){ int a=2,i;for(i=0;i<3;i++) printf(“%2d”,f(a));}执行后输出的结果是。

2. 有以下程序void f(int y,int *x){ y=y+*x; *x=*x+y;}void main( ){ int x=2,y=4;f(y,&x);printf(“x=%d,y=%d\n”,x,y);}执行后输出的结果是。

3. 有以下程序#define LETTER 1#include <stdio.h>void main(){ char str[20]="C Language", c;int i=0;while((c=str[i])!='\0'){ i++;#ifdef LETTERif(c>='a' &&c<'z')c=c+1;else if(c=='z') c=c-25;#elseif(c>='B'&&c<='Z')c=c-1;else if(c=='A') c=c+25;#endifprintf("%c",c); } }执行后输出的结果是。

4. 有以下程序void fun(int *a,int i,int j){ int t;if(i<j){ t=a[i];a[i]=a[j];a[j]=t;i++; j--;for(i=0;i<4;i++) printf("%2d",a[i]);fun(a,i,j);}}void main(){ int x[]={2,6,1,8},i;fun(x,0,3);for(i=0;i<4;i++) printf("%2d",x[i]);printf("\n");}执行后输出的结果是。

四、程序填空(每空1分,共8分)下面程序的功能是:计算从命令行中输入的第2个参数开始的所有参数中是回文字符串的参数个数。

(顺读和倒读都一样的字符串称为“回文”,如“level”就是回文)请填空。

#include <stdio.h>【1】int sumhw( char **p,int n);char jughw(char *str);void main(int argc,char *argv[]){ int s;if (argc<2) printf("请输入有效参数");else{ s=sumhw( 【2】,argc-1);printf("共有%d个回文串\n",s);}}int sumhw(char **p,int n){ char flag;int i,sum=0;for(i=0;i<n;i++){ flag=jughw( 【3】);if ( 【4】) sum++;}return sum;}char jughw(char *str){ char *p1,*p2;int n;n=strlen(str);p1=str;p2= 【5】;while( 【6】){ if(*p1!=*p2) break;else {p1++; 【7】;}}if( 【8】) return('N');else return('Y');}五、编程题(30分)1. 用指针和数组两种方法实现如下功能:将一个字符串按逆序存放。

(18分)要求(1)主函数中完成输入和输出字符串。

(2)逆序存放功能用子函数完成。

2. 一个整型数组有10个元素,编写程序删除所有值为n的元素。

(12分)要求(1)主函数完成n的输入,数组元素输入以及删除后数组元素的输出。

(2)删除功能用子函数完成。

C语言模拟试卷一参考答案一、单项选择题(选择一个最佳答案,每题2分,共20分)1、A2、D3、C4、B5、D6、C7、D8、A9、A 10、C二、填空题(每空2分,共18分)1、2.5000002、93、1 24、285、(a>b)max=a max=b6、-14三、读程序写结果(每题6分,共24分)1、7 8 92、x=8,y=43、 C Lbohvbhf4、8 6 1 2 8 6 1 2四、程序填空(每空1分,共8分)【1】#include<string.h>【2】argv+1【3】*(p+i)【4】flag= =’Y’【5】str+n-1【6】p1<p2【7】p2--【8】p1<p2五、编程题(共30分)1. (1)数组法(9分)#include <string.h>#include <stdio.h>#define N 20void inv(char str[],int n);void main(){char str[N];gets(str);inv(str,strlen(str));puts(str);}void inv(char str[],int n){int i,j,temp;for(i=0,j=n-1;i<=j;i++,j--){temp=str[i];str[i]=str[j];str[j]=temp;}}(2)指针法(9分)#include <string.h>#include <stdio.h>#define N 20void inv(char *str,int n);void main(){char str[N];gets(str);inv(str,strlen(str));puts(str);}void inv(char *str,int n){char *i,*j,temp;for(i=str,j=str+n-1;i<=j;i++,j--){temp=*i;*i=*j;*j=temp;}}2.(12分)#include <stdio.h>int m;void del_element(int num[],int n);void main(){int num[10];int i,n;m=10;for(i=0;i<10;i++)scanf("%d",&num[i]);printf("please input n\n");scanf("%d",&n);del_element(num,n);for(i=0;i<m;i++)printf("%d ",num[i]);}void del_element(int num[],int n){int i,j;for(i=0;i<m;i++)if(num[i]==n){for(j=i+1;j<m;j++)num[j-1]=num[j];m--;i--;}}c语言程序设计期末试题B(含答案)一单项选择题(每小题1分,共10分)1.以下4组用户定义标识符中,全部合法的一组是()A)_total clu_1 sumB)if -max turbC)txt REAL 3COMD)int k_2 _0012.以下程序的输出结果是()#include <stdio.h>main( ){int a = 1, b = 2, c = 3;printf(“%d”, c>b>a);}A) 2 B) 1 C) 0 D) 33.以下正确的叙述是()A) 在C语言中,main函数必须位于文件的开头B) C语言每行中只能写一条语句C) C语言本身没有输入、输出语句D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误4.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是()A)scanf("%d",pa); B)scanf("%d",a);C)scanf("%d",&pa); D)scanf("%d",*pa);5.若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是()A) 0 B) 0.5 C) 1 D) 26.能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是()A) a>=10 or a<=0 B)a>=0|a<=10 C)a>=10 &&a<=0 D)a>=10‖a<=07.执行下面的程序时,将1、2、3、4分别赋给a、b、c、d,正确的输入是()main( ){int a,b,c,d;scanf(“%d,%d,%d%d”,&a,&b,&c,&d);…}A)1 2 3 4 B)1 2 3,4 C) 1,2,3,4 D) 1,2,3 48.有以下程序段main( ){int k=0;while(k=1) k++;}则while循环执行的次数是()A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行1次9.以下程序的输出结果是()#include <stdio.h>main( ){int a = 5, b = 4, c = 6, d;printf(“%d”,d=a>b?(a>c?a:c): b);}A) 5 B) 4 C) 6 D) 不确定10.下面是对数组a的初始化,其中不正确的是()A)a[5]={"ABCD"} B)a[5]={'A','B','C','D'}C)a[5]="" D)a[5]="ABCDE"二、填空题(每空2分,共32分)1.结构化程序设计中的三种基本结构是[1] 、[2] 、[3] 。

相关文档
最新文档