C语言程序设计期中考试题
C语言程序设计__承德石油高等专科学校(5)--期中自测题

基础篇(一~五单元)自测题一 . 基础知识题1. 按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是()。
A. 大写字母B. 连接符C. 数字字符D. 下划线2. 对于一个正常运行的C 程序,以下叙述中正确的是()。
A. 程序的执行总是从main 函数开始,在main 函数结束B. 程序的执行总是从程序的第一个函数开始,在main 函数结束C. 程序的执行总是从main 函数开始,在程序的最后一个函数中结束D. 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束3. 以下合法的字符型常量是()。
A."x13'B."\018"C."65"D."\n"4. 下列运算符中,优先级最高的是()。
A.++B.%C.* (算术乘法)D.=5. 设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()。
A. k++B. k+=1C.++kD. k+16. 设变量均已正确定义,若要通过scanf("%d%c%d%c",&al,&cl,&a2,&c2); 语句为变量al 和a2赋数值10和20,为变量cl 和c2 赋字符X 和Y。
以下所示的输入形式中正确的是(注:□代表空格字符;对于%c来说,可接受键盘输入的任何符号.) ()。
A.10□X□20□Y<回车>B.10□X20□Y<回车>C.10□X<回车〉D.10X <回车>20□Y<回车> 20Y <回车>7. 有以下程序void main(){ int x=0x2F;printf("%d\n",x);}程序运行后的输出结果是()。
A.47B. 17C.2FD. 0x2F8.以下程序输出结果为()。
c语言程序设计基础期中复习题

c语言程序设计基础期中复习题c语言程序设计是计算机科学与技术专业中非常重要的基础课程之一。
它不仅教会我们如何使用计算机语言编写程序,还培养了我们解决问题的逻辑思维能力。
下面是一些c语言程序设计基础的期中复习题,供同学们复习参考。
# 一、选择题1. 以下哪个选项是C语言中的关键字?- A. class- B. int- C. function- D. include2. C语言中,用于定义变量的关键字是:- A. define- B. declare- C. var- D. let3. 以下哪个是合法的C语言标识符?- A. 2variable- B. for- C. variable2- D. int4. 在C语言中,用于表示逻辑“与”的运算符是:- A. &&- B. ||- C. !- D. &5. C语言中,用于实现条件判断的语句是:- A. if- B. switch- C. case- D. default# 二、填空题1. 在C语言中,基本数据类型包括整型(int)、字符型(char)、______(请填写浮点型)等。
2. C语言中,字符常量可以用单引号括起来,例如'A',而字符串常量则需要用双引号括起来,例如"______"。
3. C语言中,一个完整的程序由______和函数组成。
4. 在C语言中,使用______语句可以实现循环控制。
5. C语言中,函数的返回类型是放在函数名之前的,例如int main()表示函数返回类型为______。
# 三、简答题1. 请简述C语言的基本数据类型有哪些,并简要说明它们的特点。
2. 请解释C语言中数组的定义和使用方式。
3. 描述C语言中函数的声明和调用过程。
4. 请说明C语言中指针的概念及其基本操作。
5. 解释C语言中结构体(struct)的作用和定义方式。
# 四、编程题1. 编写一个C语言程序,实现输入两个整数,输出它们的和。
大学计算机专业《C语言程序设计》期中试卷及答案(二)

大学计算机专业《C语言程序设计》期中试卷及答案试卷编号:9689所属语言:C语言试卷方案:期中考试试卷总分:100分共有题型:5种一、填空共15题(共计15分)第1题(1.0分)题号:92C语言中的字符变量用保留字【1】来说明.答案:=======(答案1)=======char第2题(1.0分)题号:433已知x=3,y=2,则表达式x*=y+8的值为【1】.答案:=======(答案1)=======30第3题(1.0分)题号:388设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为【1】.答案:=======(答案1)=======1.0=========或=========1第4题(1.0分)题号:293getchar()函数只能接收一个【1】.答案:=======(答案1)=======字符第5题(1.0分)题号:437以下程序的输出结果为【1】,#include "stdio.h" main(){int a=010,j=10;printf("%d,%d\n",++a,j--);} 答案:=======(答案1)=======9,10第6题(1.0分)题号:498c语言程序的三种基本结构是:顺序结构,选择结构,【1】结构.答案:=======(答案1)=======循环第7题(1.0分)题号:100已知a=13,b=6, a||b的十进制数值为【1】.答案:=======(答案1)=======1第8题(1.0分)题号:441设a=3,b=4,c=4,则表达式a+b>c&&b==c&&a||b+c&&b==c的值为【1】.答案:=======(答案1)=======1第9题(1.0分)题号:457设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2后,t的值是【1】.答案:=======(答案1)=======1第10题(1.0分)题号:389设i,j,k均为int型变量,则执行完for循环for(i=0,j=10;i<=j;i++,j--) k=i+j;后,k的值为【1】.答案:=======(答案1)=======10第11题(1.0分)题号:421若输入字符串:abcde<回车>,则以下while循环体将执行【1】次.While((ch=getchar())=='e') printf("*");答案:=======(答案1)=======第12题(1.0分)题号:533设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是【1】. for (x=0,y=0;y!=123&&x<3;x++)scanf ("%d",&y);答案:=======(答案1)=======3第13题(1.0分)题号:328C语言中,数组元素的下标下限为【1】.答案:=======(答案1)=======第14题(1.0分)题号:346合并字符串的库函数是【1】,只写函数名即可.答案:=======(答案1)=======strcat第15题(1.0分)题号:341定义int a[2][3];表示数组a中的元素个数是【1】个.答案:=======(答案1)=======6二、判断共15题(共计15分)第1题(1.0分)题号:715整数 -32100可以赋值给int型和long int型变量.答案:Y第2题(1.0分)题号:929在C语言中,5种基本数据类型的存储空间长度的排列顺序为:char<int<long int <=float<double答案:Y第3题(1.0分)题号:928C程序中的关键字必须小写.答案:Y第4题(1.0分)题号:194若有定义和语句:int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f);若通过键盘输入:10,A,12.5,则a=10,c='A',f=12.5.答案:Y第5题(1.0分)题号:944C语言中,赋值表达式加上分号就构成了赋值语句.答案:Y第6题(1.0分)题号:716若i =3,则printf("%d",-i++);输出的值为 -4.答案:N第7题(1.0分)题号:950逻辑运算符中的"&&"和"||"低于关系运算符,"!"高于算术运算符.答案:Y第8题(1.0分)题号:951在执行switch语句时,default和各个case的出现次序不影响执行结果.答案:Y第9题(1.0分)题号:869若有int i=10, j=0;则执行完语句if (j=0)i++; else i--; i的值为11.答案:N第10题(1.0分)题号:953C语言中的for语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况.答案:N第11题(1.0分)题号:742若有说明int c;则while(c=getchar());是正确的C语句.答案:Y第12题(1.0分)题号:954continue语句只结束本次循环,而不是终止整个循环的执行.break语句则是结束整个循环过程,不再判断执行循环的条件是否成立.答案:Y第13题(1.0分)题号:736int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初值,其余元素值为0.答案:Y第14题(1.0分)题号:735如果想使一个数组中全部元素的值为0,可以写成int a[10]={0*10};答案:N第15题(1.0分)题号:926任何数组的下标都是从0开始;答案:Y三、单项选择共20题(共计40分)第1题(2.0分)题号:2004下列字符序列中,不可用作C语言标识符的是().A:b70B:#abC:symbolD:a_1答案:B第2题(2.0分)题号:2137下列表达式中,可作为C合法表达式的是().A:[3,2,1,0]B:(3,2,1,0)C:3=2=1=0D:3/2/1/0答案:B第3题(2.0分)题号:2037若k,g均为int型变量,则下列语句的输出为().k=017; g=111; printf("%d\t",++k); printf("%x\n",g++);A:15 6fB:16 70C:15 71D:16 6f答案:D第4题(2.0分)题号:2043已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为(). char a='a'; a--;printf("%d,%c\n",a+'2'-'0',a+'3'-'0');A:b,cB:a--运算不合法,故有语法错C:98,cD:格式描述和输出项不匹配,输出无定值答案:C第5题(2.0分)题号:2128下列程序段的输出结果为().float x=213.82631;printf("%3d",(int)x);A:213.82B:213.83C:213D:3.8答案:C第6题(2.0分)题号:2222语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是(说明:'\b'是退格符)().A:a\bre\'hi\'y\\\bouB:a\bre\'hi\'y\bouC:re'hi'youD:abre'hi'y\bou答案:C第7题(2.0分)题号:2028假设所有变量均为整型,表达式:a=2,b=5,a>b?a++:b++,a+b的值是().A:7B:8C:9D:2答案:B第8题(2.0分)题号:2145int a=3,b=2,c=1;if(a>b>c)a=b;else a=c;则a的值为().A:3B:2C:1D:0答案:C第9题(2.0分)题号:2062假定所有变量均已正确定义,下列程序段运行后x的值是().k1=1;k2=2;k3=3;x=15;if(!k1) x--;else if(k2) x=4;else x=3;A:14B:4C:15D:3答案:B第10题(2.0分)题号:2136下列程序段的输出结果为().int a=7,b=9,t;t=a*=a>b?a:b;printf("%d",t);A:7B:9C:63D:49答案:C第11题(2.0分)题号:2319在C语言中,要求运算数必须是整型的运算符是(). A:^B:%C:!D:>答案:B第12题(2.0分)题号:2251以下不是无限循环的语句为().A:for(y=0,x=1;x>++y;x=i++) i=x;B:for(;;x++=i);C:while(1){x++;}D:for(i=10;;i--) sum+=i;答案:A第13题(2.0分)题号:2123设j和k都是int类型,则for循环语句().for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k); A:最多执行10次B:最多执行9次C:是无限循环D:循环体一次也不执行答案:A第14题(2.0分)题号:2141以下程序段的输出结果为().for(i=4;i>1;i--)for(j=1;j<i;j++)putchar('#');A:无B:######C:#D:###答案:B第15题(2.0分)题号:2059以下程序的运行结果是().main(){ int n;for(n=1;n<=10;n++){if(n%3==0) continue;printf("%d",n);}}A:12457810B:369C:12D:1234567890答案:A第16题(2.0分)题号:2147while(fabs(t)<1e-5)if(!(s/10))break;循环结束的条件是(). A:t>=1e-5||t<=-1e-5||s>-10&&s<10B:fabs(t)<1e-5&&!s/10C:fabs(t)<1e-5D:s/10==0答案:A第17题(2.0分)题号:2273设有数组定义: char array [ ]="China"; 则数组 array所占的空间为().A:4个字节B:5个字节C:6个字节D:7个字节答案:C第18题(2.0分)题号:2280若有说明 int a[3][4];则对a数组元素的正确引用是().A:a[2][4]B:a[1,3]C:a[1+1][0]D:a(2)(1)答案:C第19题(2.0分)题号:2269以下不正确的定义语句是().A:double x[5]={2.0,4.0,6.0,8.0,10.0};B:int y[5]={0,1,3,5,7,9};C:char c1[]={'1','2','3','4','5'};D:char c2[]={'\x10','\xa','\x8'};答案:B第20题(2.0分)题号:2074下列语句中,不正确的是().A:static char a[2]={1,2};B:static int a[2]={'1','2'};C:static char a[2]={'1','2','3'};D:static char a[2]={'1'};答案:C四、程序填空共4题(共计24分)第1题(6.0分)题号:24/*------------------------------------------------------- 【程序填空】---------------------------------------------------------题目:以下程序的功能是对任一整数N(N≠0),它都可以分解成1(或-1)和一些质数(素数)因子的形式。
《C语言程序设计》期中试卷标准答案

信息与通信工程学院2010-11-1学期《C语言程序设计》期中试卷班级:学号:姓名:得分:参考答案一、判断题(每题1分,共10分)1、”printf”是C语言的关键字之一。
错2、一个完整的C语言程序中可以没有输入语句。
对3、字符串”abcd\123”中含有5个字符。
错,6个4、一个float类型的数据,占用8个字节的存储空间。
错,45、1234/100%10的值是2。
对6、程序中调用函数gets(a)时,其中的实参a必须为一个地址。
对7、C语言程序的运行是从程序内的第一个函数开始、运行到最后一个函数结束。
错8、表达式y=0,2+5||y=3运算后y的值是3。
错,是09、for(i=0;i=1;i++);是一个死循环。
对10、j=3;printf(”%d”,++j); 输出的值是4。
对二、单项选择题(每题1分,共20分)1、编辑好的C程序,必须先经过____,然后才可以运行。
A 编译B 编译、连接C 预处理(预编译)、编译、连接D 转变成二进制文件2、C程序的基本结构类型是____。
A 顺序结构、分支结构、循环结构三种B 单分支结构、双分支结构、多分支结构三种C 当型循环结构、直到型循环结构两种D 有参函数、无参函数两种3、关于C源程序的格式要求,错误的叙述是____。
A 一行可以写多句,一句可以写多行B 每行须以分号结束C 顺序结构的上下行语句左侧应对齐D 语句的内部(小语句)另起一行书写时,起始位置一般应比上一行向右缩进4小格4、用scanf、printf函数输入、输出数据时,错误的格式是____。
A 输入long int型数据时使用%ld格式B 输入double型数据时使用%lf格式C 输出long int型数据时使用%ld格式D 输出double型数据时使用%lf格式5、关于整型数据的取值范围,错误的是____。
A VC++中int型数据是-231~+231-1B WinTC、TurboC中int型数据是-215~+215-1C long int型数据是-231~+231-1D char型数据是0~+28-16、C程序运行时,如果数据溢出,计算机会____。
C程序设计期中测验试题

二.完成下列各题
1.下面这个程序用于读入5个整数,当程序读入的数据n为正整数时,则显示该数,请补充程序。(5分)
#include <stdio.h>
voidmain()
{int i=1, n;
while(i<=5)
{
printf("Please enter n:");
A.do-while语句构成的循环不能用其它语句构成的循环来代替。
B.do-while语句构成的循环只能用break语句退出。
C.用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D.用do-while语句构成的循环,在while后的表达式为零时结束循环。
A2.C语言中运算对象必须是整型的运算符是。
n=n/2;
printf("/2=%d\n",n);
}
}while(n!=1);
return 0;
}
5.从键盘输入一个整数,统计该数的位数。例如:输入1234,输出4。
答案代码:
#include <stdio.h>
main()
{
int n,i=0;
printf("请输入一个自然数:");
scanf("%d",&n);
答案代码:
#include <stdio.h>
int main()
{
int n;
printf("请输入一个自然数:");
scanf("%d",&n);
do{
if(n%2==1)
C语言期中试卷

《C语言程序设计》期中考试卷一、选择题1.下面程序段的运行结果是。
for(x=3; x<6; x++) printf((x%2)? (“**%d”): (“##%d\n”), x);A.**3##4**5 B.##3**4##5C.##3**4##5D.**3##4**52.下面程序的运行结果是。
#include<stdio.h>int main(){int i;for(i=1; i<=5; i++)switch(i%5){case 0: printf("*");break;case 1: printf("#");break;default: printf("\n");case 2: printf("&");} return 0;}A.#&&&*B.#&& &* C.#&&&*D.#&*3.下面程序的功能是求算式xyz+yzz=532中的x,y,z的值(其中xyz和yzz分别表示一个三位数),请选择填空。
#include <stdio.h>int main( ){ int x,y,z,I,result=532;for(x=1;x<10;x++)for(y=1;y<10;y++)for( ; z<10; z++){ i=100*x+10*y+z+100*y+10*z+z;if ( )printf(“x=%d,y=%d,z=%d\n”,x,y,z);}return 0;}A1.z=x B1.z=1 C1.z=0 D1.z=y A2.i/result==1 B2.i=result C2.i!=result D2.i==result4.以下正确的描述是。
A.continue语句的作用是结束整个循环的执行B.只能在循环体内和switch语句体内使用break语句C.在循坏体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出,只能使用goto语句5.在下面的程序中,。
大一c语言期中考试题及答案豆丁网
大一c语言期中考试题及答案豆丁网一、选择题(每题2分,共20分)1. C语言中,以下哪个选项是正确的标识符?A. 2variableB. _variableC. 3numberD. variable2答案:B2. 下列哪个选项是C语言中的关键字?A. defineB. includeC. intD. all答案:C3. 在C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0x1.2C. 0x1.2e2D. 0x1.2p2答案:A4. 以下哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. 以上都是答案:D5. C语言中,以下哪个选项是正确的数组声明?A. int a[5] = {1, 2, 3, 4, 5};B. int a[5] = {1, 2, 3};C. int a[] = {1, 2, 3, 4, 5};D. 以上都是答案:D6. C语言中,以下哪个选项是正确的函数声明?A. int add(int x, int y);B. int add();C. int add(int, int);D. 以上都是答案:D7. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!", "Hello"D. "Hello", "World"答案:A8. C语言中,以下哪个选项是正确的指针声明?A. int *p;B. int *p[];C. int **p;D. 以上都是答案:D9. 在C语言中,以下哪个选项是正确的结构体声明?A. struct point { int x, y; };B. struct { int x, y; } point;C. struct point { int x; int y; };D. 以上都是答案:D10. C语言中,以下哪个选项是正确的枚举声明?A. enum color { red, green, blue };B. enum { red, green, blue };C. enum color { red = 1, green = 2, blue = 3 };D. 以上都是答案:D二、填空题(每题2分,共20分)11. 在C语言中,一个整型变量占用的字节数是______。
大一c语言期中考试题和答案
大一c语言期中考试题和答案大一C语言期中考试题和答案一、选择题(每题2分,共20分)1. C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0x12.0C. 0x12.5D. 0x12L答案:A2. 以下哪个是C语言中的关键字?A. mainB. includeC. intD. input答案:C3. 在C语言中,以下哪个选项不能用作变量名?A. _nameB. 2namesC. name$D. name答案:C4. 以下哪个选项是C语言中的合法字符串常量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!", "Another String"D. "Hello, World!"答案:D5. 在C语言中,以下哪个选项是正确的函数声明?A. int function();B. int function int x;C. int function(int x);D. int function x;答案:C6. C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int array[10] = {1, 2, 3};D. All of the above答案:D7. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int *ptr = 0;C. int ptr = 0;D. Both A and B答案:D8. C语言中,以下哪个选项是正确的条件语句?A. if (x > 0)printf("Positive");B. if x > 0printf("Positive");C. if (x > 0)printf("Positive")elseprintf("Non-positive");D. Both A and C答案:D9. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++)printf("%d ", i);B. for (int i = 0; i <= 10; i++)printf("%d ", i);C. for (i = 0; i < 10; i++)printf("%d ", i);D. All of the above答案:D10. C语言中,以下哪个选项是正确的函数调用?A. void function();B. function();C. function(10);D. Both B and C答案:D二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是______。
C语言程序设计期中试卷(含答案)
C语⾔程序设计期中试卷(含答案)桂林电⼦科技⼤学信息科技学院试卷2008-2009 学年第 2 学期课号课程名称:C 语⾔程序设计(闭卷)适⽤班级(或年级、专业)通信、电⼦(本试卷包括第⼀卷和第⼆卷,答卷时间总共120分钟)第⼀卷说明:(1) 第⼀卷全部为选择题,每题可供选择的答案中,只有⼀个正确答案。
(2) 答本卷的题⽬时,要在标准答题纸上编写对应的栏⽬中,⽤铅笔在正确答案图⿊,在试题上直接勾划者不得分。
(3) 本卷共70分,其中第1~26题每题2分,第27~32题每题3分。
第⼀部分:基础知识(20题,共40分)1 以下叙述中正确的是A )C 语⾔的源程序不必通过编译就可以直接运⾏B )C 语⾔中的每条可执⾏语句最终都将被转换成⼆进制的机器指令 C )C 源程序经编译形成的⼆进制代码可以直接运⾏D )C 语⾔中的函数不可以单独进⾏编译 2 以下选项中合法的⽤户标识符是A) long B) _2Test C) 3Dmax D) A.dat3 已知⼤写字母A 的ASCII 码值是65,⼩写字母a 的ASCII 码是97,则⽤⼋进制表⽰的字符常量'\101'是A) 字符A B) 字符a C) 字符e D) ⾮法的常量 4 以下⾮法的赋值语句是A) n=(i=2,++i); B) j++; C) ++(i+1); D) x=j>0; 5 设a 和b 均为double 型变量,且a=5.5、b=2.5,则表达式(int)a+b/b 的值是 A)6.500000 B) 6 C) 5.500000 D) 6.0000006 已知i 、j 、k 为int 型变量,若从键盘输⼊:1,2,3<回车>,使i 的值为1、j 的值为2、k 的值为3,以下选项中正确的输⼊语句是A) scanf("%2d%2d%2d ",&i,&j,&k); B) scanf("%d %d %d ",&i,&j,&k); C) scanf("%d,%d,%d ",&i,&j,&k); D)scanf("i=%d,j=%d,k=%d ",&i,&j,&k);7设有定义: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)h b a )(218与数学式⼦123-x nx对应的C 语⾔表达式是A) 3*x^n(2*x-1) B) 3*x**n(2*x-1)C) 3*pow(x,n)*(1/(2*x-1)) D) 3*pow(n,x)/(2*x-1)9 设有定义:long x=-123456L ;,则以下能够正确输出变量x 值的语句是A) printf("x=%d\n ",x); B) printf("x=%1d\n ",x); C) printf("x=%8dL\n ",x); D) printf("x=%LD\n ",x); 10 若有以下程序:main(){ int k=2,i=2,m;m=(k+=i*=k); printf("%d,%d\n ",m,i); }执⾏后的输出结果是A) 8,6 B) 8,3 C) 6,4 D) 7,4 11 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是A) 6 B) 0 C) 2 D) 1 12 以下选项中,与k=n++完全等价的表达式是A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+1 13 下列关于单⽬运算符++、--的叙述中正确的是A) 它们的运算对象可以是任何变量和常量B) 它们的运算对象可以是char 型变量和int 型变量,但不能是float 型变量 C) 它们的运算对象可以是int 型变量,但不能是double 型变量和float 型变量 D) 它们的运算对象可以是char 型变量、int 型变量和float 型变量 14 若有以下程序段(n 所赋的是⼋进制数)int m=32767,n=032767; printf("%d,%o\n ",m,n); 执⾏后输出结果是A) 32767,32767 B) 32767,032767 C) 32767,77777 D) 32767,077777 15 C 语⾔中⽤于结构化程序设计的三种基本结构是A) 顺序结构、选择结构、循环结构 B) if 、switch 、break C) for 、while 、do-while D) if 、for 、continue16 有⼀函数,0x 0x 0x 101y <=>-=,以下程序段中不能根据x值正确计算出y值的是A) if(x>0) y=1; B) y=0;else if(x==0) y=0; if(x>0) y=1;else y=-1; else if(x<0) y=-1;C) y=0; D) if(x>=0)if(x>=0) if(x>0) y=1; if(x>0) y=1; else y=0; else y=-1; else y=-1;int m=0,n=0; char c='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输⼊:10A10<回车>,则输出结果是:A) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,018 有以下程序main(){ int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=aprintf("%d,%d\n",k,m);}程序运⾏后的输出结果是A) 0,0 B) 0,1 C) 1,0 D) 1,119 有定义语句:int x,y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下⾯四组输⼊形式中,错误的是A) 11 12<回车> B) 11, 12<回车> C) 11,12<回车> D) 11,<回车>12<回车>20 设有如下程序段:int x=2002,y=2003;printf("%d\n",(x,y));则以下叙述中正确的是A) 输出语句中格式说明符的个数少于输出项的个数,不能正确输出B) 运⾏时产⽣出错信息C) 输出值为2002D) 输出值为2003⼆第⼆部分:简单程序(12题,21-26题每题2分,27-32题每题3分,共30分)21 有以下程序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) 011122 B) 012 C) 012020 D) 120{ int i=1,j=1,k=2;if((j++||k++)&&i++) printf("%d,%d,%d\n",i,j,k);}执⾏后输出结果是A) 1,1,2 B) 2,2,1 C) 2,2,2 D) 2,2,323 有以下程序{ char a,b,c,*d;a='\'; b='\xbc';c='\0xab'; d="\017";printf("%c%c%c%c\n",a,b,c,*d);}编译时出现错误,以下叙述中正确的是A) 程序中只有a='\';语句不正确 B) b='\xbc';语句不正确C) d="\017";语句不正确 D) a='\';和c='\0xab';语句都不正确24 以下程序段中与语句k=a>b?(b>c?1:0):0; 功能等价的是A) if((a>b)&&(b>c)) k=1; B) if((a>b)||(b>c)) k=1;else k=0; else k=0;C) if(a<=b) k=0; D) if(a>b) k=1;else if(b<=c) k=1; else if(b>c) k=1;else k=0;25 有以下程序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);elseprintf("%d\n",d+2);}执⾏后输出结果是A) 2 B) 3 C) 4 D) 编译时有错,⽆结果26 有以下程序main(){ int i=10,j=1;printf("%d,%d\n",i--,++j); }执⾏后输出结果是A) 9,2 B) 10,2 C) 9,1 D) 10,1{ int i=0,s=0;do{ if(i%2) { i++; continue; }s+=i;} while(i<7);printf("%d\n",s);}执⾏后输出结果是A) 16 B) 12 C) 28 D) 2128 有以下程序main(){ int x=0,y=5,z=3;while(z-->0&&++x<5) y=y-1;printf("%d,%d,%d\n",x,y,z);}程序执⾏后的输出结果是A) 3,2,0 B) 3,2,-1 C) 4,3,-1 D) 5,-2,-529 有以下程序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中的偶数之和30 有以下程序main(){ int i,n=0;for(i=2;i<5;i++){ do{ if(i%3) continue;n++;}while(!i);n++;}printf("n=%d\n",n);程序执⾏后的输出结果是A) n=5 B) n=2 C) n=3 D) n=431 要求以下程序的功能是计算:10131211++++= s main (){ int n; float s; s=1.0;for(n=10;n>1;n--) s=s+1/n; printf("%6.4f\n ",s); }程序运⾏后输出结果错误,导致错误结果的程序⾏是A) s=1.0; B) for(n=10;n>1;n--) C) s=s+1/n; D) printf("%6.4f/n ",s); 32 有以下程序段int n=0,p;do { scanf("%d ",&p); n++; } while(p!=12345 && n<3); 此处do —while 循环的结束条件是A) p 的值不等于12345并且n 的值⼩于3 B) p 的值等于12345并且n 的值⼤于等于3 C) p 的值不等于12345或者n 的值⼩于3 D) p 的值等于12345或者n 的值⼤于等于3第⼆卷说明:(1) 第⼆卷含5⼤题,均属填空题,总共有10个空栏,在阅读和理解原题程序的基础上,在空栏处填⼊适当的字符、语句,以构成⼀个正确的C 语⾔程序。
c语言程序设计期中试卷2
期中试卷班级:_______学号:__________姓名:____________________________________________一、选择题(每题1分,共20题,20分):1. 若有定义:int a=8,b=5,c; 执行语句c=a/b+0.4;后,c的值为:a)1.4 b)1 c)2.0 d)22. 设a为整型变量,不能确定表达数学关系10<a<15的为C语言表达式是:a)10<a<15 b)a==11|| a==12|| a==13|| a==14c)a>10&&a<15 d)!(a<=10)&&!(a>=15)3. 若i、j已定义为int型,则以下程序段中语句printf(“%6d”,i*j);的执行次数是:for(i=5;i>0;i--)for(j=0;j<4;j++)printf(“%6d”,i*j);a)20 b)24 c)25 d)304. 下面程序的输出结果是(按16位机计算):main(){ unsigned a=32768 ;printf(“a=%d\n”,a);}a)a=0 b)a=32767 c)a=-32768 d)a=-15. 下面程序的输出结果是:main(){ int x , y , z;x=0; y=z=-1;x+=-z- - -y;printf(“x=%d\n”,x); }a)x=4 b)x=0 c)x=2 d)x=36. 下面程序的输出结果是:main(){ int a=5 , b=4 , c=6,d;printf(“%d\n”,d=a>b?(a>c?a:c) : (b));}a)5 b)4 c)6 d)不确定7. 用语句scanf(“%c%c%c” , &c1, &c2, &c3); 输入a,b,c后,变量c1、c2、c3的值分别为:a)‘a’,‘b’,‘c’b)‘a’,‘b’,”c)‘a’,‘,’,‘b’d)‘a’,”,‘c’8. 设x的值为5,则表达式(++x)+(++x)+(++x)的值为:a)24 b)21 c)15 d)229. 已知x=3、y=2则表达式x*=y+8的值为a)3 b)2 c)30 d)1010. 哪一个是构成C语言程序的基本单位:a)过程b)函数c)子程序d)子例程11. 若x是int型变量,且有下面的程序段:for(x=3;x<6;x++) printf((x%2)?("**%d"):("##%d\n"),x);该程序片段的输出结果:a)* * 3 b)# # 3 c)# # 3 d)* * 3 # # 4 # # 4 * * 4 * * 4 # # 5 * * 5* * 5 # # 512. 下面程序的输出结果是:main(){ float x , y;scanf(“%f”, &x) ;if(x<0.0) y=0.0;else if ((x<5.0)&&(x!=2.0)) y=1.0/(x+2.0);else if(x<10.0) y=1.0/x;else y=10.0;printf(“%f\n”,y); }若运行时从键盘上输入2.0<enter> ,则该程序的输出结果是:a)0.000000 b)0.250000c)0.500000 d)1.00000013. 若所有变量均已正确说明,下面程序段运行后x的值为:a=b=c=0; x=35;if(!a) x--;else if(b);if(c) x=3;else x=4;a)34 b)4 c)35 d)314. 以下一组运算符中,优先级最高的运算符是:a)<= b)= c)% d)&& 15. 下面程序的输出结果是:main(){ int x=023;printf(“%d\n”, --x);}a)17 b)18 c)23 d)24 16. 以下合法的赋值语句是:a)x=y=100 b)d-- c)x+y d)c=int(a+B) 17. 执行下面程序后,a的值是:__________main(){ int a;printf(“%d\n”,(a=3*5,a*4,a+5));}a)65 b)20 c)15 d)10 18. 执行下面程序后,输出结果是:_________main(){ int a=-1, b=4, k;k=(a++<=0)&&(!(b--<=0));printf(“% d% d % d \n”, k, a, b);}a)0 0 3 b)0 1 2 c)1 0 3 d)1 1 2 19. 以下程序的输出结果是:main(){ int i=, f1, f2; f1=f2=1;for(i=0;i<4;i++){ printf(“ % d% d \n”, f1,f2);f1+=f2;f2+=f1;}}a)1 2 3 4 5 6 7 8 b)1 1 2 3 5 8 13 21c)1 1 3 5 7 9 11 13 d)1 3 5 7 9 11 13 1520.有以下程序main(){ char ch;int s1=0,s2=0;while( (ch=getchar())!=’\n’){switch(ch){ case ‘a’:case ‘d’:s1+=1;break;default:s1+=1;s2+=1;}}printf(“s1=%d,s2=%d\n”,s1,s2); }程序运行后输入bad<回车>,输出结果是a)s1=2,s2=2 b)s1=4,s2=3c)s1=3,s2=1 d)s1=3,s2=2二、填空题(每空2分,共10空,20分):1. 下面程序计算1到100的整数的累乘积。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计期中考试题
一、选择题(每个3分共12分)
1、关于函数的实参和形参说法正确的是( )
A、实参与其对应的形参共同占用同一个存储单元
B、实参与其对应的形参各自占用独立的存储单元
C、只有当实参与其对应的形参同名时才占用同一个存储单元
D、形参是虚拟的不占用内存单元
2、下列程序运行后的输出结果是( )
#include
void main()
{ int i,sum=0;
for(i=1;i<=10;i++)sum=sum+i;
printf(“%d,%d\n”,i,sum);
}
A、10,55 B、10,66 C、11,355 D、11,66
3、下列语句执行后,x的值是( )
int m=10,n=2,x=100;
x*=m/n-m*n;
A、300 B、-1000 C、-500 D、500
4、下列语句执行后,x的值是( )
float a=0.5,b=1.5,c=3.5;
x=(a+b,3*c,0<=a<1);
A、2 B、4.5 C、0 D、1
二、填空题(每空4分共48分)
1、编程的过程是:问题分析、__________、编辑程序、编译连接、生成可执行程序、运行
与调试。
2、一个C语言程序可以由多个源程序文件组成,每个文件中可以有若干函数,但有且只能
有一个________函数。
3、C语言的标示符由字母、数字和________组成,其中第一个字符必须是________________
4、与下列语句:if(a+b>c*d)res=a*b;else res=c+d;等价的语句是:
res=__________________________________
5、假设有定义:int x;则逻辑表达式x&&1等价于_________________________
6、下列程序先输出m个空格,再输出n个指定的字符ch,请补充程序:
#include
void print(__________________)
{ int i;
for(i=1;i<=m;i++)__________________
for(______________)printf(“%c”,ch);
}
7、阅读下列程序,并补充完整:
#include
int sum(int n)
{
___________________
s=s+n;
return s;
}
void main()
{ int i,n,s;
printf(“请输入一个正整数n,计算s=1+2+...+n\n”);
scanf(“%d”,&n);
for(i=1;i<=n;i++)s=sum(i);
printf(“s=%d”,s);
}
8、下面程序的输出结果是__________________
#include
void main()
{ int num=0;
while(num++<6)
{ printf(“%d,”,num);
if(num=3)break;
}
printf(“%d\n”,num);
}
9、下面程序的输出结果是_____________
#include
void main()
{
int a=2,b=3,c=1;
printf("%d,%d,%d\n",a,b+c, a=10||--c||a-b);
}
三、程序设计题(共40分)
1、(10分)编写函数sum,接收两个正整数a和n参数,计算a+aa+...+aa...a(n个a)的和并
返回。
2、(10分)编写函数daysOfMonths,接收年份year和月份month,返回对应年月的天数,
不定义闰年函数。
3、(20分)编程将一个输入的正整数n,分解成质因数输出,输出格式:n=n1*n2*...*nk,
n1、n2、...、nk是n的质因数。要求调用自定义函数isPrime判断一个数是否为质数,若是
质数返回1,否则返回0。