F__学习_学习文档_c语言_C期末考试样卷A卷

合集下载

c语言期末考试试卷a答案

c语言期末考试试卷a答案

北京师范大学2021~2021学年第2 学期期末考试试卷〔A卷〕课程名称:程序设计语言〔C语言〕任课教师姓名:于福生刘玉铭卷面总分:100 分考试时长:100 分钟考试类别:闭卷院〔系〕:专业:年级:姓名:学号:阅卷教师〔签字〕:一、判断题〔正确的划√,错误的划×〕〔每题1分,共10分)1.逗号表达式的值是包含于其中的最后一个表达式的值;【】2.函数内的局部变量将屏蔽掉与其重名的全局变量;【】3.全局变量的作用域是所在的整个源程序;【】4.C语言对文本文件和二进制文件均采用“缓冲文件系统〞;【】5.多种类型变量组成的表达式求值时进行类型的自动转换;【】6.二维数组初始化时列规模可以省略不写;【】7.数组名作函数参数,实参数组和形参数组大小可不同,但类型须相同【】8.continue语句和break语句都可以用于改变switch语句的执行流程【】9.static型局部变量的作用域和全局变量的作用域一样;【】10.C语言的所有函数之间可以相互调用【】二、单项选择题(20×2=40分)1.可作为变量名的字符序列是【】A) static B) INTC) #ptr_1t D) 1232.假设a、b为int类型,值分别为3,4,那么对a+=a/=2,b*=b-=2求值后,a、b的值分别是【】A) 4, 4 B) 2, 8C) 2, 4 D) 4, 83.设int b, a; float c;c=(float)a+b; 那么(float)的作用是【】A) 使变量a的类型发生改变B) 使变量a,b的类型发生改变C) 使变量a的值的类型发生改变D) 使变量a,b的值的类型发生改变4.如果有说明:int a[6],*p=a;不能读入a[1]的语句是【】A〕scanf(“%d〞,++a); B〕scanf(“%d〞,a+1);C〕scanf(“%d〞,++p); D〕scanf(“%d〞,p+1);5.程序段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=1 B) a=1,b=1C) a=1,b=0 D) a=2,b=26.对于函数int sub(float x, int y){return(x>y?x+y:x-y);},语句printf(“%d〞,sub(3.5, 3));的执行结果是【】A〕6.5C〕6 D〕77.char a[]=〞abcd〞;printf(“%d,%d〞,sizeof(a),strlen(a));的运行结果是【】A) 4,4 B) 5,5C) 4,5 D) 5,48.下面陈述正确的选项是【】A〕全局变量的作用域是所在的整个源程序B〕任何两个函数之间可以相互调用C〕逻辑表达式的求值采用局部求值规那么D〕对某变量实施强制类型转换运算后,变量的类型随之发生变化9.程序段int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12},*p=&a[1][1], (*q)[4]=&a[1];printf("%d,%d",*(p+3),*(*(q+1)+1));的输出结果是【】A) 8, 6 B) 8, 10C) 9, 6 D) 9, 1010.设a为int型变量,那么执行语句:a=-1; a++&&a++&&a++;后,a的值【】A) -1 B) 0C) 1 D) 211.有说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 那么数值为5的表达式是【】A) *p+5 B) *(p+4)C) *p+=5 D) p+412.程序段int k = -2; do k++; while (!(k = 0)); 中while循环执行的次数是【】A〕无限次B〕2C〕0D〕113.从键盘读入含空格的字符串时,应该使用函数【】A) scanf( ) B) gets( )C) getchar( ) D) getch( )14.设有说明int a=1,b=2; 定义函数void swap(int *p, int *q);那么通过函数调用语句swap(&a,&b);能把变量a,b的值交换过来的函数体是【】A〕{int *x; x=p;p=q;q=x;} B〕{int x; x=*p;*p=*q;*q=x;}C〕{int x=*p,y=*q,z=x;x=y;y=z;} D〕{int *x; *x=*p;*p=*q;*q=x;}15.判断字符串s是否大于字符串t应使用【】A〕if〔s>t〕B〕if〔strcmp〔s,t〕>0〕C〕if (strcmp (t,s) >0 ) D〕if (strcmp (s,t) )16.程序int sub〔int a[10]〕{ return sizeof(a);} void main() { int a[10];printf(“%d,%d〞sizeof(a),sub(a));}的运行结果是【】A) 20,20B) 2,2C) 20,2 D) 2,2017. 对于函数⎪⎩⎪⎨⎧<-=>=010001x x x y ,以下程序段中不能对y 正确求值的是【 】A 〕 if (x > 0) y = 1; else if (x == 0) y = 0; else y =-1;B 〕 y = 0; if (x > 0) y = 1; else if (x < 0) y = -1;C 〕 y = 0; if (x >= 0); if (x > 0) y = 1; else y = -1;D 〕 f (x >= 0) if (x > 0) y = 1; else y = 0; else y = -1;18. 假设有以下定义和说明:struct std { char num[6]; char name[8]; float mark[4]; }a[30]; FILE *fp;不能将数组a 写入二进制文件fp 的语句是【 】 A 〕 f or(i = 0; i < 30; i++) fwrite(&a[i], sizeof(struct std), 1, fp); B 〕 f or(i = 0; i < 30; i++) fwrite(a + i, sizeof(struct std ), 1, fp); C 〕 f write(a, sizeof(struct std), 30, fp); D 〕 f or(i = 0; i < 30; i++) fwrite(a[i], sizeof(struct std ), 1, fp);19. 设有说明:struct AA{ int *a,b} *s ;正确调用函数scanf 的实在参数为【 】A) 〔“%d 〞, &*s.a 〕 B) 〔“%d 〞, *s.a 〕 C) 〔“%d 〞, &s->a 〕 D) 〔“%d 〞, s->a)20. int a=12; 语句fprintf(f,“%6d 〞, a);和fwrite(&a,sizeof(a),1,g);导致文件f 和g 在大小上的增加量分别【 】 A 〕2字节,2字节 B 〕6字节,6字节 C 〕6字节,2字节 D 〕2字节,6字节三、阅读程序、写出程序的执行结果(任选5题,5×4=20分)1.#include<stdio.h>void main(){char a[ ]="language", b[ ]="123";char *p=a ,*q=b;while(*p++=*q++) p++;puts(a);}2.#include <stdio.h>int sub( int n ){int a;if( n == 1) return 0;a = n + sub( n-1 );return( a );}void main( ){int n = 6;printf("%d",sub(n));}3.#include<stdio.h>void swap(int *p1, int p2){int temp;temp=*p1;*p1=p2;p2=temp;}void main( ){int x=20, y=15;if( x>y) swap(&x, y);printf("%d,%d", x,y);}4.#include<stdio.h>void main(){int a[3][4]={{3,2,2,3},{4,5,6,4},{-2,9,2,-2}};int i, j, s=1;for ( i=0; i<3; i++ )for( j=0; j<4; j++ )if(i == 3-j) s*=a[i][j];printf("s=%d",s);}5.#include<stdio.h>void main(){int i=13, s=0, t;while(t=i--){if(!(t%3))continue;s+=t;}printf("%d",s);}6.# include <stdio.h>int sub(int m){static int s=1;if(m==1) return(1);return(m*sub(m/++s));}void main(){printf("%d",sub(6));}四、 编程题(任选两题2×15=30分)1. 编程计算:ns n 1)1(....4131211--+-+-=,直到最后一项的绝对值小于。

2013年C语言知识学习期末试题(A)

2013年C语言知识学习期末试题(A)

四川大学期末考试试题(A卷)(2013——2014 学年第一学期)课程号:303066030课序号:课程名称:计算机基础及C程序设计语言任课教师:刘亚梅刘洋任瑞玲曾晓东余勤罗伟王茂宁王忠邓丽华成绩:适用专业年级:2012级学生人数:印题份数:学号:姓名:注:1试题字迹务必清晰,书写工整。

本题8 页,本页为第 1 页2 题间不留空,一般应题卷分开教务处试题编号:学号:姓名本题8 页,本页为第 2 页教务处试题编号:学号:姓名以下叙述中正确的是______。

A)在给s1和s2数组置初值时,系统会自动添加字符串结束符,故长度都为3B)由于s1数组中没有字符串结束符,长度不能确定;但s2数组中字符串长度为3C)由于s1和s2数组中都没有字符串结束符,故长度都不能确定D)以上说法都不对25.若有定义:int a=0, *p=&a;,则语句printf("%d\n",*p);的输出结果是______。

A)随机值B)0 C)a的地址D)p的地址26.下面程序段,输出*的个数是char *s="\tx++\016yz";for (;*s!='\0';s++) printf("*");A)4 B)9 C)7 D)1127.若有以下说明,且0≤i≤10,则对数组元素的错误引用是_______。

int a[ ]={1,2,3,4,5,6,7,8,9,10}, *p = a, i;A)p[i] B)a[p-a+i] C)p+i D)*(&a[i])本题8 页,本页为第 3 页教务处试题编号:学号:姓名void main(){int a[]={2,4,6,8,10}, y=0, x, *p;p=&a[1];for(x= 1; x<3; x++)y += p[x];printf("%d\n",y);}A)10 B)11 C)14 D)15 30.以下程序运行后的输出结果是______。

C程序设计期末考试试卷A及答案

C程序设计期末考试试卷A及答案

C程序设计期末考试试卷A及答案考试试卷A一、选择题(每题2分,共30分)1. 下列哪个不是C语言的关键字?A. intB. doubleC. floatD. void2. 在C语言中,以下哪个函数用于输出字符串?A. printf()B. scanf()C. gets()D. puts()3. 在C语言中,以下关于数组的说法正确的是:A. 数组可以存储不同类型的元素B. 数组的大小可以在运行时改变C. 数组的下标从-1开始D. 数组的元素可以通过指针进行访问4. 下面的代码输出的结果是什么?```c#include <stdio.h>int main() {int x = 5;int y = 2;double result = x / y;printf("%lf\n", result);return 0;}```A. 2.000000B. 2.500000C. 2.666667D. 25. 在C语言中,以下哪种循环结构可以确保至少执行一次循环体?A. for循环B. while循环C. do-while循环D. if-else语句二、填空题(每题4分,共20分)1. 下列哪个关键字用于定义一个常量?_ _ _ _ _ _ _2. 编写一个C语言函数,用于计算一个整数的平方。

```c_ _ _ _ _ _ _ _ _ _ _ _ _ _ _```3. 在C语言中,以下符号表示“或”运算:_ _ _4. 在C语言中,以下符号表示“与”运算:_ _ _5. 在C语言中,以下是判断两个整数是否相等的运算符:_ _ _ _ _三、编程题(共50分)请编写一个C语言程序,实现一个简单的计算器。

该计算器具有对两个整数执行四则运算的功能,用户可以通过输入对应的操作符来选择进行的运算。

程序的运行示例如下:```请输入第一个整数:2请输入第二个整数:3请输入操作符(+、-、*、/):*结果为:6```考试试卷A答案一、选择题1. B2. A3. D4. A5. C二、填空题1. const2. int square(int num)3. ||4. &&5. ==三、编程题(示例代码)```c#include <stdio.h>int main() {int num1, num2;char operator;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);printf("请输入操作符(+、-、*、/):"); scanf(" %c", &operator);switch (operator) {case '+':printf("结果为:%d\n", num1 + num2); break;case '-':printf("结果为:%d\n", num1 - num2);break;case '*':printf("结果为:%d\n", num1 * num2); break;case '/':if (num2 != 0) {printf("结果为:%d\n", num1 / num2); } else {printf("除数不能为0\n");}break;default:printf("无效的操作符\n");}return 0;}```本次C程序设计期末考试试卷A及答案共包含选择题、填空题和编程题。

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

2009年C语言期末考试题(A卷)及答案

2009年C语言期末考试题(A卷)及答案

~ 4 ~
7. 下列程序的输出结果是 16.00,请填空_____________。 main() { int a=9, b=2; float x=【 】, y=1.1,z; z=a/2+b*x/y+1/2; printf("%5.2f\n", z ); } 8. 语句:x++; ++x; x=x+1; x=l+x; 执行后都使变量 x 中的值增加 1,请写出一条同一功能的 赋值语句(不得与列举的相同,也不得使用任何其它变量)_____________。 9. 若有定义:int w[10]={23,54,10,33,47,98,72,80,61}, *p=w;,在不移动指针 p 条件下,通过 指针 p 引用值为 98 的数组元素的表达式是 _____________。 10. 下面程序把从终端读入的文本(用@作为文本结束标志)输出到一个名为 bi.dat 的新文 件中。请填空_________。 #include "stdio.h" FILE *fp; { char ch; if( (fp=fopen【 】)== NULL) while( (ch=getchar( )) !='@') fputc (ch,fp); fclose(fp); } exit(0);

~ 1 ~
8. 设有以下程序段: int a=5; while (a=0) a--; 则下面描述正确的是: ( ) A)执行 5 次循环体语句 B)本循环是死循环 C)一次也不执行循环体语句 D)执行一次循环体语句 9. 若以下选项中的变量已正确定义,则正确的赋值语句是( A)x1=26.8%3 B)1+2=x2 C)x3=0x12 D)x4=1+2=3; 10. 设有以下定义 int a=0; double b=1.25; char c=’A’; #define d 2 则下面语句中错误的是( ) A)a++; B)b++ C)c++; D)d++; 11. 设有定义:float a=2,b=4,h=3;,以下 C 语言表达式与代数式计算结果不相符的是( A)(a+b)*h/2 B)(1/2)*(a+b)*h C)(a+b)*h*1/2 D)h/2*(a+b) 12. 有以下程序 main( ) { char k; int i; for(i=1;i<3;i++) { scanf(“%c”,&k); switch(k) { case ‘0’: printf(“another\n”); case ‘1’: printf(“number\n”); } } } 程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是( A) another B)another C)another D)number number number number number another number 13. 在调用 fopen 函数时,不需要的信息是( ) A)需要打开的文件名称 B)指定的文件指针 C)文件的使用方式 D)文件的大小 ) )

C语言期末考试试题及答案

C语言期末考试试题及答案

C语言期末考试试题及答案------------------------------------------作者------------------------------------------日期C语言期末考试试卷共  页 第  页一、单选题(每题 分,共 分).以下叙述正确的是 ♉♉♉♉♉♉ 。

✌) 程序的每行只能写一条语句 ✆语言本身没有输入输出语句)在 程序中,注释说明只能位于一条语句的后面)在多函数的程序中,❍♋♓⏹函数必须放在其它子函数的定义之前.以下不正确的常量表示形式是 ♉♉♉♉♉♉ 。

✌✆  ✆✠☞ ✆‘ ’✆ ☜ 以下不正确的变量名是 ♉♉♉♉♉♉ 。

✌✆  ✆ ♉❍♋⌧ ✆ ✋☠❆✆ ✞ 以下正确的一组语句是 ♉♉♉♉♉♉♉♉。

✌✆ ♓⏹♦ ⌧⍓✆ ♓⏹♦ ⏹ ♦♍♋⏹♐☎✂♎✂⏹✆♓⏹♦ ♋☯⏹✆ ♍♒♋❒ ♋✉☐ ☐♋ ✆ ♍♒♋❒ ♦☯ ♦✂♒♏●●☐✂ 若以下变量均已正确定义和赋值,则正确的语句是 ♉♉♉♉♉♉♉♉。

✌✆ ♋♌✆ ⍓⌧ ✆ ⌧⍓ ✆ ⏹✉.下面各组中与给出的程序段功能不等价的是 ♉♉♉♉♉♉♉♉。

♓♐☎♋✆ ♌♏●♦♏ ♓♐☎♋✆ ♌♏●♦♏ ♌✌✆♓♐☎♋✆ ♌ ✆♓♐☎♋✆ ♌✆♓♐☎♋✆ ♌ ✆♓♐☎♋✆♓♐☎♋✆ ♌ ♏●♦♏♓♐☎♋✆ ♌ ♓♐☎♋✆ ♌♓♐☎♋✆ ♌ ♓♐☎♋✆ ♌♏●♦♏ ♌ ♓♐☎♋✆ ♌♏●♦♏ ♌♓♐☎♋✆ ♌ 运行下面程序段,若输入♋♌♍✁,则程序输出是:♉♉♉♉♉♉♉♉。

♍♒♋❒ ♍♓⏹♦ ❖❖♦♒♓●♏☎☎♍♑♏♦♍♒♋❒☎✆✆✐✁✆ ♦♦♓♦♍♒☎♍✆ ♍♋♦♏ ♋❖♎♏♐♋◆●♦ ❖❖♍♋♦♏ ♍❖❝❝☐❒♓⏹♦♐☎✂❖♎❖♎⏹✂❖❖✆✌✆ ✆ ✆  ✆共  页 第  页共  页 第 页共  页 第  页.对♐☐❒☎表达式  表达式 ✆⑤❝可以理解为:♉♉♉♉♉♉♉♉。

《C语言程序设计基础》期末考试A卷及答案

《C语言程序设计基础》期末考试A卷及答案

封 线密《C 语言程序设计基础》课程期末考试试卷 ( A 卷)班级 考试形式 闭卷 考试时间 120 分钟考试学期 2020-2021学年第1学期 考试类型 考试 命题教师 题 号一 二 三 四 总分 分 值 30 20 25 25 100 得 分一、单项选择题(每小题2分,共30分)1.下列不属于C 语言基本数据类型的是( )。

A. intB. unionC. charD. double 2. 在一个C 程序中( )。

A .main 函数必须出现在所有函数之前B .main 函数可以在任何地方出现C .main 函数必须出现在所有函数之后D .main 函数必须出现在固定位置3. 以下不正确的C 语言标识符是 ( )。

A .AB3CB .a_bc C. _abc D .3ab_c4. 设x 、y 和z 是int 型变量,且x =3,y =4,z =5,则下面表达式中值为0是 ( )。

A .x&&y||x-y B. x <=y C. x||y+z&&y<z D. !((x <y)&&!z||1)5. 设有定义:struct a{long int c[4]; float d[3]; char f[16]; }a1;则printf("%d\n",sizeof(a1));的输出是( )。

A .44B .36C .12D .326. 已知一个二维数组int a[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};获取该数组中第二行第三列元素的语句表达正确的是( )。

A .a[2][3] B. a[2][4] C. a[1][2] D. a[3][2] 7. 设有:int a,*pa,*pb;int b[10] = { 0,1,2,3,4,5,6,7,8,9 };a=3;下列说法中不正确的是( )。

C语言期末考试试题及详细答案

C语言期末考试试题及详细答案

选择练习题1、C 语言中最简单数据类型包括( B )。

A 、整型,实型,逻辑型B 、整型,实型,字符型C 、整型,字符型,逻辑型D 、整型,实型,逻辑型,字符型 2、C 语言中,运算对象必须是整型数运算符是(A )。

A 、%B 、/C 、%和/D 、*3、为表示关系x <y <z ,应使用C 语言表达式( A )。

A 、(x <y)&&(y <z )B 、(x <y)AND (y <z)C 、(x <y <z)D 、(x <y) &(y <z)4、C 语言程序基本单位是( C )。

A 、程序行B 、语句C 、函数D 、字符5、C 语言程序一行写不下时,可以( D )。

A 、用逗号换行B 、用分号换行C 、用回车符换行D 、在任意一空格处换行6、下述标识符中,( C )是合法用户标识符。

A 、A&B B 、void C 、_student D 、7、在C 语言中,字符型数据在内存中以( BA 、补码B 、ASCII 码C 、反码D 、原码8、一个程序由若干文件组成,共用同一变量,则此变量存储类别应该为( B )。

A 、autoB 、externC 、staticD 、Register9、以下关于switch 语句和break 语句描述中,只有(B )是正确。

A 、在switch 语句中必须使用break 语句B 、在switch 语句中,可以根据需要使用或不使用break 语句C 、break 语句只能用于switch 语句中D 、break 语句是switch 语句一部分10、C 语言规定:调用一个函数时,实参变量和形参变量之间数据传递是(B )。

A 、地址传递B 、值传递C 、由实参传给形参,并由形参传回给实参D 、由用户指定传递方式11、下述C 语言转义符中( D )是非法。

A 、'\b'B 、'\037'C 、'\0xf 'D 、'\''12、为了要计算s=10!(10阶乘),则以下对s 定义正确是( D )。

C语言期末考试试卷及答案

C语言期末考试试卷及答案

C语言期末考试试卷(A)一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( A )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个特性的描述中错误的是( A )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( C )A、 intB、 floatC、 doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是( C )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语言a类卷子题库及详解答案

c语言a类卷子题库及详解答案

c语言a类卷子题库及详解答案C语言A类卷子题库及详解答案一、选择题1. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:A2. 下列哪个选项是C语言中的合法标识符?A. 3variableB. variable-nameC. variable#nameD. variable_name答案:D3. 以下哪个语句可以用来输入一个整数?A. scanf("%d", &number);B. printf("%d", number);C. cout << number;D. input("%d", &number);答案:A4. 在C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C5. 下列哪个选项是C语言中的数组声明?A. int numbers;B. int numbers[10];C. int numbers(10);D. int [10] numbers;答案:B二、填空题6. 在C语言中,若要定义一个字符变量来存储字符'A',可以使用以下语句:________。

答案:char ch = 'A';7. C语言中,用于实现条件判断的关键字是________。

答案:if8. 在C语言中,循环结构包括________和________。

答案:for, while9. 要声明一个指向整型的指针变量,可以使用以下语句:________。

答案:int *ptr;10. C语言中,用于定义一个结构体的关键字是________。

答案:struct三、简答题11. 简述C语言中数组和指针的区别。

答案:数组是一种数据结构,用于存储一系列相同类型的元素,而指针是一个变量,它存储了另一个变量的内存地址。

数组名是一个指向数组首元素的指针常量,而指针变量可以被重新赋值指向不同的内存地址。

《C语言程序设计》期末测试卷A及答案

《C语言程序设计》期末测试卷A及答案

《C语言程序设计》A卷一、单选题(2分×15题)1.对以下二维数组的正确声明是()A. int a[3][];B. float a(3,4)C. double a[][4];D. float a(3)(4);2.若二维数组a 有m 列,则计算任一元素a[i][j] 在数组中的位置公式为()(假设a[0][0] 位于数组的第一个位置上)A. i*m+jB. j*m+iC. i*m+j-1D. i*m+j+13.若有说明:int a[3][4]={0};,则下面叙述正确的是()A. 只有数组元素a[0][0] 可以得到初值0B. 此说明语句不正确C.数组a 中各元素都可以得到初值,但其值不一定为0D. 数组a 中每个元素均被初始化为04.下面的程序段()注:第行程序前的数字为行号/*1*/void main()/*2*/{/*3*/float a[10]={0.0};/*4*/int i;/*5*/for(i = 0; i < 3; i++) scanf("%d", &a[i]);/*6*/for(i = 0; i < 10; i++) a[0] = a[0] + a[i];/*7*/printf("%f\n", a[0]);/*8*/}A. 没有错误B. 第3 行有错误C. 第5 行有错误D. 第7 行有错误5.若二维数组a 有m 列,则在数组元素a[i][j] 前的元素个数为()A. j * m + iB. i * m + jC. j - 1D. j * m + i - 16.以下程序段的功能是()……int a[] = {4, 0 , 2, 3, 1}, i, j, t;for (i = 1; i < 5; i++){t = a[i];j = i - 1;while (j >= 0 && t > a[j]){a[j+1] = a[j];j--;}a[j+1] = t;}A.对数组a 进行插入排序(升序)B.对数组a 进行插入排序(降序)C.对数组a 进行选择排序(升序)D.对数组a 进行选择排序(降序)7.以下正确定义一维数组的选项是()A. int a[5] = {0, 1, 2, 3, 4, 5};B. char a[] = {0, 1, 2, 3, 4, 5};C. char a = {'A', 'B', 'C'};D. int a[5] = "0123";8.不能所字符串“Good!”存放到数组s 中的代码是()A. char s[8] = {'G','o','o','d','!', '\0'};B. char s[8];strcpy(s, "Good!");C. char s[8];s = "Good!";D. char s[8] = "Good!";9.下列程序的输出结果是()void main( ){int a=7,b=5;printf("%d\n",b=b/a);}A. 5B. 1C.0D. 不确定值10.设有如下程序段,下面描述中正确的是()int k=10; while(k=0) k=k-1;A.循环执行一次B.循环是无限循环C. 循环体语句一次也不执行D.循环体语句执行一次11.设有以下定义,值为5的枚举常量是()。

C语言程序设计期末考试卷A答案

C语言程序设计期末考试卷A答案

C语言程序设计期末考试卷A答案北京信息科技大学2022~2022学年第一学期《C语言程序设计》课程期末考试试卷(A卷)授课系别:_计算机学院_适用班级:_计科所有班级_考试形式:_闭卷_班级:姓名:学号:题号得分一二三四五六七总分一:填空题:(每题2分,共10题)1、结构化程序设计的基本结构有三种,分别是顺序结构、选择结构和循环结构。

2、有如下程序:voidmain(){intk=1,n=263;do{k某=n;n/=10;}while(n);printf(\}则k值为____36______。

3、有如下程序chara[]=\的值为____6_____。

4、函数直接或间接的调用自己成为函数的________递归调用__________。

5、有如下定义:taticinta[6]={1,2,3,4,5,6};int某p=a+1;p++;则某(p+1)的值为____4______。

6、有以下程序:#defineA4#defineB(某)A某某/2voidmain(){floatc,a=4.5;c=B(a);printf(\}则c的值为___9.0_____。

7、C语言的变量值存在时间角度来分,可以分为__动态__存储方式和___静态__存储方式。

8、C语言可以定义枚举类型,其关键字为enum9、写出下面程序的运算结果。

tructk{inta;}[4],某p;voidmain(){intn=1,i;for(i=0;i<4;i++){[i].a=n;n=n+2;}p=&[0];p++;printf(\}p->a的值为__________3__________。

10、C语言打开文件的函数是_____fopen_______,关闭文件的函数是______fcloe_______。

二单项选择题:(每题2分,共12题)1:以下程序片段_____D______。

voidmain(){int某=0,y=0,z=0;if(某=y+z)printf(\eleprintf(\}A)有语法错误,不能通过编译B)输出:某某某C)可以编译,但不能通过连接,所以不能运行D)输出:###2:若w=1,某=2,y=3,z=4,则条件表达式w>某w:yvoidmain(){int某=-1,y=4,k;k=(某++<=0)&&!(y--<=0);printf(\}A)0,0,3B)0,1,2C)1,0,3D)1,1,24:以下不是死循环的程序段是DA)inti=100;B)for(;;);while(1){i=i0+1;if(i>100)break;}C)intk=0;D)int=36;do{++k;}while(k>=0);while();--;5:下列程序运行结果为:_____C______。

c语言程序设计期末考试试卷(A)

c语言程序设计期末考试试卷(A)
A、7B、8 C、6 D、2
4、表达式18/4*sqrt(4.0)/8值的数据类型为。
A)、int B)、float C)、double D)、不确定
5、若有以下定义,则能使值为3的表达式是D。
Int k=7,X=12;
A、X%=(k%=5)B、X%=(k-k%5)
C、X%=k-k%5 D、(X%=k)-(k%=5)
t=((t=(a<b)?a:b)<c)? t:c;
s=a+b+c-u-t; a=u;
b=s; c=t; return s;
}
运行时输入: 5 –7 3,输出结果:
4、#include <stdio.h>
#include<stdlib.h>
#defineNEW(struct info *)malloc(sizeof(struct info))
三、程序阅读题(每题5分共30分)
1.#include <stdio.h>
void main( )
{ int k=0;
char c='A';
do {
switch (c++)
{ case 'A': k++; break;
case 'B': k--;
case 'C': k+=2; break;
case 'D': k=k%2; break;
B、aa是指针变量,它指向含有两个数组元素的字符型一维数组
C、aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D、aa数组的两个元素中各自存放了字符'a'和'A'的地址

C语言_期末考试试卷A

C语言_期末考试试卷A
A、**0** B、**0****2** C、**0****1****2** )。 D、有语法错误
29、执行语句:printf(“ |%10.5f| \n”,12345.678);的输出是( A、|12345.67800| B、|12345.6780| C、|12345.17800|
30、若执行以下程序时从键盘上输入 3□4,则输出结果是(
printf("%d,%o,%x \n",k,k,k); } A、17 021 0x11 B、17 17 17 )。 C、17 0x11 021 D、17 21 11
48、下列描述中不正确的是( A、字符型数组中可以存放字符串
33、以下程序的输出结果是( main( ) { int a= -1,b=1,k;
B、可以对字符型数组进行整体输入、输出 C、可以对整型数组进行整体输入、输出 D、不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值 49、以下选项中属于 C 语言的数据类型是( A、 复数型 B、 逻辑型 )。 C、 双精度型 )。 D、 〈= D、 集合型
if((++a<0)&& ! (b-- <=0)) printf("%d else printf("%d A、-1 1 B、0 1 %d\n",b,a); C、1 0 )。 D、0 } 0 %d\n",a,b);
A、2 B、3 C、4 D、7 )。
22、以下程序的输出结果是(
main() {int x=10,y=10; pirntf(“%d } %d\n”,x,y);
16、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( A、必须为字母 B、必须为下划线

F__学习_学习文档_c语言_C期末考试样卷B卷

F__学习_学习文档_c语言_C期末考试样卷B卷

安徽大学20-20学年第学期《 C语言程序设计》期末考试试卷( B 卷 120分钟)年级院系专业姓名学号座位号题号一二三四五六七八得分得分得分一. 单项选择题:(每题 2分,共 20分)下列各题 A) 、B)、C) 、D)四个选项中只有一个是正确的,请将正确选项填在答题卡相应题目的横线上。

答在试卷上不得分。

1.执行程序 : int a; printf("%d \n", (a=3*5, a*4, a+5) );A) 60B)20后, a 的值是 ______。

C) 15D)102.程序段: int x=023; printf("%d \n", --x );A) 19B)18的输出是 ______。

C) 23D)223.程序段:static char s[10]={'C','h','i','n','a'};printf("%d\n",strlen(s));的输出是______。

A)6B)5C)11D)104.若fun( int x) { printf(n”“,x);},%d则fun_______。

A)返回值为void类型B)返回值类型无法确定C)返回值为 int 类型D)没有返回值5.有宏定义: #define MULT1(a,b) a*b#define MULT2(a,b) (a)*(b)且引用宏: y=MULT1(3+2,5+8); z=MULT2(3+2,5+8);则y和z的值是______。

A) y=65,z=65 B) y=21,z=65 C) y=65,z=21 D) y=21,z=216.程序段 char s[]="Hello", *p; p=s;执行后,*(p+5)的值是______。

A) 'o'B)'\0'C)'o'的地址D)不确定的值7.程序段: char *s= ”ABCD”, *p; for( p=s; *p ; p++) printf("%s\n", p);的输出是______。

C语言期末考试试卷A(答案)

C语言期末考试试卷A(答案)
elseprintf("%d\n",i--);
}从键盘上输入99
2、main()
{int a, b;答案: a=98,b=1,a+b=99
printf("Please input a and b:");
scanf("%2d%*6d%d",&a,&b);
printf("a=%d, b=%d, a+b = %d\n", a, b, a+b);
6)设a、b、c均为int型变量,则执行语句:a=0;b=1;c=a++||--b;后,c的值为(0)
XXXX期末考试试卷(A卷)答案(xxxx——xxxx学年度第二学期)
.考试科目c程序设计基础考试时间xxxx
题次










总分
得分
评卷人签名
专.
业.
.
一、选择题:下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请填写正确的答案。(每小题2分,共20分)
{ for(j=1;j<10;j++)
printf("%d+%d=%-3d",i,j,i+j);
printf("\n");
}
}
4、main()
{
int i,k,a[10],p[3]:答案:38
k=2;
for (i=0;i<10;i++)a[i]=2*i;
for (i=0;i<3;i++)p[i]=a[i+1];
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

安徽大学20 -20 学年第学期《C语言程序设计》期末考试试卷(A卷120分钟)年级院系专业姓名学号座位号题号一二三四五六七八得分得分得分一.单项选择题:(每题2分,共40分)下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确选项填在答题卡相应题目的横线上。

答在试卷上不得分。

1.下面程序段执行后,a的值是______。

int a;printf("%d \n", (a=3*5, a*4, a+5) );A)60 B)20 C)15 D)102.下列程序段的输出是______。

int x=023;printf("%d \n", --x );A)19 B)18 C)23 D)223.执行下列语句后,a的值是______。

int a=8;a+=a-=a*a;A)-240 B)64 C)112 D)-1124.执行下列语句后,输出的值是______。

int x=6;printf("%d,%d,%d\n",x,x++,--x);A)5,5,5 B)6,5,5 C)7,6,5 D)5,6,55.指出下列程序段所表示的逻辑关系是______。

if(a<b){if(c==d)x=1;}elsex=2;A)若a<b且c=d,则x=1;若a>=b且c!=d,则x=2。

B)若a<b且c=d,则x=1;若a>=b,则x=2。

C)若a<b且c=d,则x=1;若a<b且c!=d,则x=2。

D)若a<b且c=d,则x=1;若c!=d,则x=2。

6.下列程序段的执行结果是______。

int i,x;for(i=1,x=1;i<=20;i++){if(x>=10) break;if(x%2==1){x+=5;continue;}x-=3;}printf("%d,%d\n",x,i);A)6,4 B)7,5 C)10,6 D)14,77.下列程序的执行结果是______。

#include "stdio.h"#include "string.h"main(){static char s[10]={'C','h','i','n','a'};printf("%d\n",strlen(s));}A)6 B)5 C)11 D)108.函数的数据类型是______决定的。

A)调用该函数时临时B)调用函数的实参C)return语句的表达式类型D)函数的形参9.执行下列程序段后,*(p+5)的值是______。

static char s[]="Hello";char *p;p=s;A)'o' B)'\0' C)'o'的地址D)不确定的值10.以下程序的输出结果是______。

#include "stdio.h"main(){static int a[]={1,2,3,4,5,6},*p;p=a; *(p+3)+=2;printf("%d,%d\n",*p,*(p+3));}A)0,5 B)1,5 C)0,6 D)1,611.在以下定义中,标识符P______。

int (*p)[3];A)定义不合法。

B)是一个指针数组名,每个元素是一个指向整型变量的指针。

C)是一个指针,它指向一个具有三个元素的一维数组。

D)是一个指向整型变量的指针。

12.sizeof(int)是______。

A)一个整型表达式B)一个不合法的表达式C)一种函数调用D)一条语句13.有宏定义:#define MULT1(a,b) a*b#define MULT2(a,b) (a)*(b)在后面的程序中有宏引用:y=MULT1(3+2,5+8);z=MULT2(3+2,5+8);则y和z的值是______。

A)y=65,z=65B)y=21,z=65C)y=65,z=21D)y=21,z=2114.设有程序段:union MYTYPE { long x; int y[4]; char z[6];}them;main(){ printf(“%d\n”,sizeof(them)); }则程序的输出结果是______。

A)18 B)6 C)8 D)415.以读写方式打开一个已有的文本文件file1,下面fopen函数正确的调用方式是______。

A)FILE *fp; B)FILE *fp;fp=fopen("file1","r");fp=fopen("file1","r+");C)FILE *fp; D)FILE *fp;fp=fopen("file1","rb");fp=fopen("file1","rb+");16.设有如下定义: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.a17.若fun( int x) { printf(“%d\n”,x);},则fun_______。

A)返回值为void类型B)返回值无法确定C)返回值为int类型D)没有返回值18.实参和和形参之间的数据传送是_______。

A)地址传送B)实参传给形参,再由形参传给实参C)值传送D)由用户指定传送方式19.以下程序的输出结果是______。

char *s=”ABCD”, *p;for( p=s; *p ; p++)printf("%s\n", p);A)ABCD B)A C)D D)ABCDBCD B C ABCCD C B ABD D A A20.下列程序段的输出是______。

int fun( int x){static int a=3;a+=x;return a;}void main( void ){int k=2, m=1, n;n=fun(k);n=fun(m);printf( “%d\n”, n);}A)3 B)4 C)6 D)9得分二.填空题:(每空1分,共20分)请将正确答案填在答题卡相应题目的横线上。

答在试卷上不得分。

1.C语言有⑴ 、⑵、⑶ 、⑷ 和⑸ 五种常量。

2.C程序的变量不仅要事先⑹ ,而且还必须⑺ 后才能使用。

3.C语言在给出逻辑运算结果时,以⑻ 代表“真”,以⑼ 代表“假”;在判断一个量是否为“真”时,以⑽ 代表“假”,以⑾ 代表“真”。

4.C语言规定只有⑿ 数组和⒀ 数组才能初始化;这种数组不赋初值,系统会对所有数组元素自动赋以⒁ 值。

5.对两个指针变量进行关系运算的条件是⒂ ,其结果表示⒃。

6.一个C文件是一个⒄ 或⒅ ,它把数据看成是⒆ ,对文件的存取是以⒇ 为单位。

得分三.程序设计题(每空2分,共40分)阅读下列程序,在横线上填入适当的内容使程序完整。

请将正确答案填在答题卡相应题目的横线上。

答在试卷上不得分。

1.下列程序是求Fibonacci数列:1,1,2,3,5,8……的前40个数,要求每行输出4个数。

main(){long int f1,f2;int i;f1=1 ; f2=1;for(i=1;i<= ⑴;i++){printf("%12ld %12ld ",f1,f2);if( ⑵ ) printf("\n");f1= ⑶ ;f2= ⑷ ;}}2.下列程序是求一个3×4矩阵中值最小元素。

min_value( ⑸ ){ int i,j,k,min;⑹ =array[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++)if( ⑺ ) min= ⑻ ;⑼ ;}main(){ static int a[3][4]={ 1,2,3,4,5,6,7,8,9 };printf("min value is %d\n",min_value( ⑽ ));}3.下列程序的功能是:将字符串a复制到字符串b中。

void copy_string(char *from, ⑾ );{for(;*from; ⑿ )⒀ ;*to= ⒁ ;}main(){ char *a="I am a boy!";char *b="This is a test!";⒂ ;printf("a=%s\a=%s\n",a,b);}4.有一个班,3个学生,各学四门棵。

下列程序的功能是:查找有一门以上课程不及格的学生,打印出他们的全部课程的成绩。

main(){ ⒃ ;static float score[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};search(score,3);}void search( float (*p)[4], int n);{ int i,j,flag;for(j=0;j<n;j++){ flag=0;for(i=0;i<4;i++)if( ⒄ ) flag=1;if( ⒅ ){ printf("No.%d is fail\n",j+i);for(i=0; ⒆ ;i++)printf("%5.1f ", ⒇ );printf("\n");}}}参考答案:一.单项选择题:(每题2分,共40分)CBDBB CBCBD CABBB BCCAC二.填空题:(每题2分,共20分)1常数 2 字符 3 字符串4、转义序列5符号常量6定义7 赋值8 19 0 10 非011 0 12 static 13 extern14 0 15指向同一数组16位置的前后17字节流18二进制流19一连串的字符20字符(字节)三.程序归纳题(每题2分,共40分)1 202 i%5==03 f1+f24 f1+f25 int array[3][4]6 min7 min<array[i][j] 8 array[i][j]9 return min 10 a11 char *to 12 from++,to++13 *to=*from 14 015 copy_string(a,b) 16voidsearch( float (*p)[4], int n)17 p[j][i]<60 18 flag==119 i<4 20 p[j][i]。

相关文档
最新文档