C语言期中测验试题及答案

合集下载

c语言第三版期中复习题答案

c语言第三版期中复习题答案

c语言第三版期中复习题答案C语言是一种广泛使用的编程语言,以其高效和灵活著称。

在C语言的学习过程中,期中复习是检验学生对基础知识掌握情况的重要环节。

以下是一些C语言第三版期中复习题的答案,供同学们参考。

# 1. C语言的基本数据类型有哪些?答:C语言的基本数据类型主要包括以下几种:- `int`:整型,用于存储整数。

- `float`:单精度浮点型,用于存储单精度浮点数。

- `double`:双精度浮点型,用于存储双精度浮点数。

- `char`:字符型,用于存储单个字符。

- `void`:无类型,用于定义无返回值的函数或指针。

# 2. 什么是变量?如何声明一个变量?答:变量是程序中用于存储数据的容器。

在C语言中,声明变量需要指定其数据类型和变量名。

例如:```cint age; // 声明一个整型变量agefloat price; // 声明一个浮点型变量pricechar initial; // 声明一个字符型变量initial```# 3. 什么是运算符?C语言中有哪些运算符?答:运算符是用于执行程序中操作的符号。

C语言中的运算符主要包括:- 算术运算符:`+`, `-`, `*`, `/`, `%`(加、减、乘、除、取余)- 赋值运算符:`=`, `+=`, `-=`, `*=`, `/=`, `%=`(赋值及其变体)- 比较运算符:`==`, `!=`, `<`, `>`, `<=`, `>=`(等于、不等于、小于、大于、小于等于、大于等于)- 逻辑运算符:`&&`, `||`, `!`(逻辑与、逻辑或、逻辑非)- 位运算符:`&`, `|`, `^`, `~`, `<<`, `>>`(位与、位或、位异或、位非、左移、右移)- 条件运算符:`?:`(三元运算符)# 4. 什么是控制结构?C语言中有哪些控制结构?答:控制结构是程序中用于控制代码执行流程的机制。

大一c语言期中考试试题及答案

大一c语言期中考试试题及答案

大一c语言期中考试试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义一个结构体类型的关键字是()。

A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的运算符?()A. %B. &&C. ::D. ==答案:C3. 在C语言中,用于定义一个函数的关键字是()。

A. intB. voidC. returnD. function答案:B4. 下列哪个选项不是C语言中合法的变量名?()A. _nameB. name_2C. 2nameD. name答案:C5. 在C语言中,用于表示逻辑“与”的运算符是()。

A. &&B. ||C. !D. ^答案:A6. 下列哪个选项是C语言中的控制语句?()A. ifB. switchC. caseD. all of the above答案:D7. C语言中,用于定义一个字符常量的是()。

A. 'a'B. "a"C. aD. a答案:A8. 在C语言中,用于表示“不等于”的运算符是()。

A. ==B. !=C. =D. ==答案:B9. 下列哪个选项是C语言中的文件操作函数?()A. printfB. scanfC. fopenD. fclose答案:C10. 在C语言中,用于定义一个整型数组的语法是()。

A. int arr[10];B. int arr=10;C. int arr[];D. int [10] arr;答案:A二、填空题(每题2分,共20分)1. C语言中,用____关键字定义一个全局变量。

答案:extern2. 一个C语言程序的执行从____函数开始。

答案:main3. C语言中,用于声明一个指针变量的语法是____。

答案:int *p;4. C语言中,____运算符用于取地址。

答案:&5. C语言中,____运算符用于解引用指针。

C语言期中试卷(含答案)

C语言期中试卷(含答案)

《 C语言》课程期中考试试卷一. 在A B C D四个选项中,选择一个正确的答案填入括号内( )1、用char定义的变量在IBM PC机中能表示的数的范围是:A) 0 ~+255 B) 0 ~+65535C) -128 ~+127 D) 只能存字符,不能存数( )2、设有int k=2; 则执行printf(“%d”,k++);的输出为:A) 0 B) 1 C) 2 D) 3()3、在while(!x)中,!x与______等价。

A) x==0 B) x!=0 C) x==1 D) x!=1()4、设有声明int value=‟5‟;,则执行下列选项的赋值语句后,value的值不等于5的是_____。

A.) value=value - ‟0‟; B) value=value - 0x30;C) value=value - 49; D) value=value - ‟\060‟;()5、如int k=7;float x=2.5,y=4.7; 则表达式 x+k%3*(int)(x+y)%2/4 运算后的值是:A) 0 B) 2 C) 2.5 D) 2.75( ) 6、若有int a,b;则语句:printf("%d",(a=2)&&(b=-2);的输出结果是:A)无输出 B)结果不确定 C)-1 D)1( ) 7、设有int a=2; 则执行printf("%d",5>a>1);的输出为:A)0 B)1 C)2 D)3( ) 8、执行语句c=(a=2,a+1,b=a++);后, a,b,c的值依次为:A)2,3,4 B)3,3,3 C)4,5,4 D)3,2,2( )9、以下程序的输出结果是A)2 0 B)3 1 C)3 2 1 D)2 1 0main( ){ int n=4;while(n--)printf("%d ",--n);}( )10、给出以下定义:char x[ ]="abcdef";char y[ ]={'a','b','c','d','e','f'};则正确的叙述为A) 数组x和数组y等价 B) 数组x和数组y的长度相同C) 数组x的长度大于数组y的长度 D) 数组x的长度小于数组y的长度( )11、若对一个函数调用在前, 定义在后,C语言将视其返回值为__________类型。

C语言期中试卷

C语言期中试卷

C语言程序设计期中考试卷一、选择题1.下面程序段的运行结果是 ..forx=3; x<6; x++ printfx%2 “%d”: “%d\n”; x;A.3 4 5B.345C.345D.3452.下面程序的运行结果是 .. include<stdio.h>int main{int i;fori=1; i<=5; i++switchi%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;forx=1;x<10;x++fory=1;y<10;y++for ; z<10; z++{ i=100x+10y+z+100y+10z+z;ifprintf“x=%d;y=%d;z=%d\n”;x;y;z;}return 0;}A1.z=x B1.z=1 C1.z=0 D1.z=yA2.i/result==1 B2.i=result C2.i=result D2.i==result 4.以下正确的描述是 ..A.continue语句的作用是结束整个循环的执行B.只能在循环体内和switch语句体内使用break语句C.在循坏体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出;只能使用goto语句5.在下面的程序中; ..include<stdio.h>int main{int t;x;fort=1;t<=100;t++{scanf"%d";&x;ifx<0 continue;printf"%3d";t;}return 0;}A.当x<0时整个循环结束B.x>=0时什么也不输出C.printf函数永远也不执行D.最多允许输出100个非负整数6.与下面程序段等价的是 ..forn=100; n<=200; n++{ ifn%3==0 continue;printf“%4d”;n;}A.forn=100; n%3 && n<=200; n++ printf“%4d”;n; B.forn=100; n%3 || n<=200; n++ printf“%4d”;n; C.forn=100; n<=200; n++ ifn%3=0 printf“%4d”;n; D.forn=100; n<=200; n++{ifn%3 printf“%4d”;n;else continue;break;}7.下面程序的运行结果是 ..include <stdio.h>int main{ int a;b;for a=1; b=1; a<=100; a++{ ifb>=20 break;ifb%3= =1 {b+=3;continue;}b - =5;}printf“%d\n”;a;return 0;}A.7 B.8 C.9 D.10二、填空题1. 下面程序段是从键盘输入的字符中统计数字字符的个数;用换行符结束循环..请填空..int n=0; c;c=getchar ;while{ if n++;c=getchar}2. 有1020个西瓜;第一天卖一半多两个;以后每天卖剩下的一半多两个;下面的程序统计买完所需的天数;请填空..include <stdio.h>int main{ int day=0; x1=1020; x2;while{ x2= ;x1=x2;day++;}printf“day=%d\n”;day;return 0;}3. 当运行以下程序时;从键盘键入right<回车>;则下面程序的运行结果是 ..include<stdio.h>int main{char c;whilec=getchar ='' putchar++c;putchar'\n';return 0;}4. 下面程序的运行结果是 ..include<stdio.h>int main{int a=2;s=0;n=1;count=1;whilecount<=7 {n=na;s=s+n;++count;}printf"s=%d\n";s;return 0;}5. 当运行以下程序时;从键盘输入“China<回车>”;则下面程序的运行结果是 ..include<stdio.h>int main{int v1=0;v2=0; char ch;whilech=getchar =''switchch{case 'a':case 'h':default: v1++;case 'o': v2++;}printf"%d;%d\n";v1;v2;return 0;}6. 下面程序段中循环体的执行次数是 ..a=10; b=0;do { b+=2; a-=2+b;}whilea>=0;7. 下面程序段的运行结果是 ..x=2;do { printf“”; x--; } whilex= =0;8. 下面的程序的功能是用do-while语句求1—1000之间满足“用3除余2;用5除余3;用7除余2”的数;且一行只打印5个数;请填空..include <stdio.h>int main{ int i=1;j=0;do{ if{ printf“%4d”;i;j++;if printf“\n”;}i=i+1;} whilei<1000;return 0;}9. 当运行以下程序时;从键盘输入“1 2 3 4 5 -1<回车>”;则下面程序的运行结果是 ..include<stdio.h>int main{ int k=0;n;do{scanf"%d";&n;k+=n;}whilen=-1;printf"k=%d n=%d\n";k;n;return 0;}10. 下面程序的运行结果是 ..include<stdio.h>int main{int i=0;x=0;y=0;do{++i;ifi%2=0 {x=x+i;i++;}y=y+i++;}whilei<=7;printf"x=%d;y=%d\n";x;y;return 0;}11. 下面程序段是找出整数的所有因子..请填空..include<stdio.h>int main{int x;i;scanf"%d";&x;i=1;for ; ;{ifx%i==0 printf"%3d";i;i++;} return 0;}12. 鸡、兔共有30只; 脚共有90个;下面程序段是计算鸡兔各有多少只;x 代表有多少只鸡;y代表有多少只兔子;请填空完成程序..forx=1; x<=30; x++{y=30-x;if printf“%d;%d\n”;x;y;}13. 下面程序段的运行结果是 ..fora=1;i=-1; -1<=i<1; i++{ a++; printf“%2d”;a;}printf“%2d”;i;14. 下面程序的功能是1-3+5-7+……-99+101的值..请填空..include<stdio.h>int main{int i;t;s=0;q=1;fori=1;i<=101;i+=2{t= ; s=s+t; q= ;}printf"%d\n";s;return 0;}15. 以下程序的功能是根据公式e=1+1/1+1/2+1/3+……;求e的近似值;精度要求为10-6..请填空..include<stdio.h>int main{int i; double e;n;; n=1.0;fori=1; ;i++{n/=i;e+=n;}printf"e=%f\n";e;return 0;}16. 下面程序的运行结果是 ..include<stdio.h>int main{int i;fori=1;i<=5;i++switchi%2{case 0: i++; printf"";break;case 1: i+=2; printf"";default: printf"\n";}return 0;}17. 下面程序的功能是统计用数字0-9可以组成多少个没有重复数位的3位偶数..请填空..include<stdio.h>int main{int n=0;i;j;k;fori=1;i<=9;i++fork=0;k<=8;ifk=iforj=0;j<=9;j++if{printf"%d\n";i100+j10+k;n++;}printf"n=%d\n";n;return 0;}18. 下面程序的功能是输出1-100之间满足每位数的乘积大于每位数的和的数..请填空..include<stdio.h>int main{ int n;k=1;s=0;m;forn=1;n<=100;n++{k=1;s=0;;while{k=m%10;s+=m%10;;}ifk>s printf"%5d";n;}printf"\n";return 0;}三、编程题1.打印出以下图形10’s u s2.有三个数a、b、c;由键盘输入;输出其中第二大的数..12’3.编写一个程序;求s=1+1+2+1+2+3+…+1+2+3+…+n的值..15’4.输入一批非0数;直到输入0时为止;计算其中奇数的平均值和偶数的乘积..15’5.有一口深度为h米的水井;井底有一只青蛙;它每天白天能够沿井壁向上爬m米;夜里则顺井壁向下滑n米;若青蛙从某个早晨开始向外爬;试编写一个函数:对于任意指定的h;m;n值均为自然数;计算青蛙多少天能够爬出井口15’。

C语言期中测试卷(含答案)

C语言期中测试卷(含答案)

C语言期中测试卷班级:学号:姓名:一、判断题〔1×10分〕1.在C语言中,一个double型所占字节数为8。

2.strcat的作用是连接两个字符数组中的字符串。

3.在求C语言的表达式时,只需考虑运算符的优先级。

4.在标准C中,变量必须先定义后使用。

5.逗号运算符的求值顺序是从左到右的,逗号表达式的值为第一个表达式的值。

6.在标准C中,以“%〞形式输出的数字共有10位。

7.C语言不直接提供输入输出函数8.一个C程序可以有假设干个C源程序组成,而C源程序可以由假设干个函数和预处理组成。

9.C语言中用于构造化程序设计的三种根本构造是顺序构造、选择构造、循环构造。

10.在标准C中,赋值表达式可以出现在表达式的任何位置。

二、选择题〔2×10分〕第1题:假定a和b为int型变量,那么执行以下语句后b的值为a=1;b=10;do{b-=a;a++;}while(b--<0);A、9B、-2C、-4D、8第2题:以下表达不正确的选项是A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的根本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面第3题:假设有以下说明,那么数值为4的表达式是:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a',d;A、a[d-c]B、a[4]C、a['d'-'c']D、a['d'-c]第4题:下面有关for循环的正确描述是:A、for循环只能用于循环次数已经确定的B、for循环是先执行循环体语句,后判断表达式C、在for循环中,不能用break语句跳出循环体D、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来第5题:以下符号中,不属于转义字符的是第6题:以下程序的输出结果是# include <># include <>void main(){char str[12]={'s','t','r','i','n','g'};printf("%d\n",strlen(str));}A、6B、7C、12D、13第7题:以下符号可以作为变量名的是:A、+aB、*pC、_DAYD、next day第8题:以下选项中,不属于C语言关键字的是A、ifB、printfC、sizeofD、for第9题:循环for(i=1,j=6; ++i!=--j; ) s=i+j; 将执行A、2次B、3次C、4次D、以上均不是第10题:一个C语言程序是由A、一个主程序和假设干子程序组成B、函数组成C、假设干过程组成D、假设干子程序组成三、程序填空题〔2×10分〕第1题:用π/4≈1 - 1/3 + 1/5 - 1/7 + ……公式求π的近似值。

C语言期中考试题目及答案

C语言期中考试题目及答案

一、选择题:【1】在C语言中,用户能使用的正确标识符是。

A) 5f B) _for C) struct D) _f.5答案: B 分析:标识符只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线;大小写敏感;不能使用关键字;最长32 个字符。

【2】以下那个是正确的C语言常量。

A) 0678 B) '\0101' C) 1.2E3.5 D) 123L答案:D【3】以下对C语言源程序有关常识正确的描述是。

A) main 函数必须位于文件的开头B) 每个语句必须单独一行C) 标识符中大小写字母没有区别D) 宏定义#define 部分不一定要放在程序的最开头位置答案:D【4】以下for 循环的执行次数是。

for(x=0,y=0;(y=123)&&(x<4);x++)A)是无限循环B)循环次数不定C)执行4次D)执行3次答案:C分析:若要判断(y=123)&&(x<4)假,因为y=123永远为真,所以只需要判断x<4为假即可。

【5】对for( 表达式1;; 表达式3) 可理解为。

A)for( 表达式1;0; 表达式3)B)for( 表达式1;1; 表达式3)C)for( 表达式1; 表达式1; 表达式3)D)for( 表达式1; 表达式3; 表达式3)答案: B【6】设有程序段int k=10;while(k=0) k=k-1;则下面描述中正确的是。

A)while循环执行10次 B )循环是无限循环C)循环体语句一次也不执行D)循环体语句执行一次答案:C分析:因为k=0 为假,所以程序不执行其后的语句。

【7】C语言中while和do-while 循环的主要区别是。

A) do-while 的循环体至少无条件执行一次B) while 的循环控制条件比do-while 的循环控制条件严格C) do-while 允许从外部转到循环体内D) do-while 的循环体不能是复合语句答案:A【8】设有:int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b)&&(n=c>d) 后n 的值为。

大一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语言期中试卷(含答案)

《 C语言》课程期中考试试卷一. 在A B C D四个选项中,选择一个正确的答案填入括号内( )1、用char定义的变量在IBM PC机中能表示的数的范围是:A) 0 ~+255 B) 0 ~+65535C) -128 ~+127 D) 只能存字符,不能存数( )2、设有int k=2; 则执行printf(“%d”,k++);的输出为:A) 0 B) 1 C) 2 D) 3()3、在while(!x)中,!x与______等价。

A) x==0 B) x!=0 C) x==1 D) x!=1()4、设有声明int value=‟5‟;,则执行下列选项的赋值语句后,value的值不等于5的是_____。

A.) value=value - ‟0‟; B) value=value - 0x30;C) value=value - 49; D) value=value - ‟\060‟;()5、如int k=7;float x=2.5,y=4.7; 则表达式 x+k%3*(int)(x+y)%2/4 运算后的值是:A) 0 B) 2 C) 2.5 D) 2.75( ) 6、若有int a,b;则语句:printf("%d",(a=2)&&(b=-2);的输出结果是:A)无输出 B)结果不确定 C)-1 D)1( ) 7、设有int a=2; 则执行printf("%d",5>a>1);的输出为:A)0 B)1 C)2 D)3( ) 8、执行语句c=(a=2,a+1,b=a++);后, a,b,c的值依次为:A)2,3,4 B)3,3,3 C)4,5,4 D)3,2,2( )9、以下程序的输出结果是A)2 0 B)3 1 C)3 2 1 D)2 1 0main( ){ int n=4;while(n--)printf("%d ",--n);}( )10、给出以下定义:char x[ ]="abcdef";char y[ ]={'a','b','c','d','e','f'};则正确的叙述为A) 数组x和数组y等价 B) 数组x和数组y的长度相同C) 数组x的长度大于数组y的长度 D) 数组x的长度小于数组y的长度( )11、若对一个函数调用在前, 定义在后,C语言将视其返回值为__________类型。

c程序设计期中试题及答案

c程序设计期中试题及答案

c程序设计期中试题及答案一、选择题1. C语言中,下列哪个关键字可以声明常量?A. constB. staticC. externD. volatile答案:A. const2. 下列关于指针的说法中,错误的是?A. 指针保存的是变量的地址B. 指针变量必须在使用之前初始化C. 指针可以指向一个函数D. 指针占用的内存空间和指针指向的数据类型有关答案:B. 指针变量必须在使用之前初始化3. 下列循环结构中,哪个语句是用于结束当前循环,进入下一轮循环的?A. breakB. continueD. goto答案:B. continue4. 下列C语言中的标准库函数中,不属于输入输出函数的是?A. printf()B. scanf()C. gets()D. malloc()答案:D. malloc()5. C语言中,以下哪个运算符的优先级最高?A. =B. &&C. *D. ?:答案:D. ?:二、填空题1. 编写一个函数,判断一个数是否为质数。

函数原型为:int isPrime(int num);```cint isPrime(int num) {int i;if (num <= 1) {return 0;}for (i = 2; i < num; i++) {if (num % i == 0) {return 0;}}return 1;}```2. 填写以下代码的输出结果:```c#include <stdio.h>int main() {char str[] = "Hello";printf("%d\n", sizeof(str));printf("%d\n", strlen(str));return 0;}```答案:85三、编程题1. 编写一个C程序,实现将一个字符串中的小写字母转换为大写字母的功能。

C语言期中测试(含答案)

C语言期中测试(含答案)

C语言期中测试(开卷测试,答案写在白纸上)一.选择题(1)C语言源程序名的后缀是A).exe B).C C).obj D).cpp(2)以下选项中,合法的一组C语言数值常量是A)028 B)12. C).177 D)0x8A5e-3 0Xa23 4c1.5 10,000-0xf 4.5e0 0abc 3.e5(3)以下正确的字符串常量是A)"\\" B)’abc’C)OlympicGames D)"" (4) 表达式3.6-5/2+1.2+5%2的值是A)4.3 B)4.8 C)3.3 D)3.8(5)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定(6)以下叙述中错误的是A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B)数组名代表的是数组所占存储区的首地址,其值不可改变C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D)可以通过赋初值的方式确定数组元素的个数(7)以下叙述中错误的是A)C语言源程序经编译后生成后缀为.obj的目标程序B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令(8)以下数组定义中错误的是A)int x[][3]={0};B)int x[2][3]={1,2,3,4,5,6};C)int x[][3]={{1,2,3},{4,5,6}};D)int x[2][]={1,2,3,4,5,6};(9)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(10)有以下程序段int j;float y;char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为A)55566.0 B)566.0 C)7777.0 D)566777.0(11)有以下程序#include<stdio.h>main(){int y=9;for( ; y>0;y--)if(y%3= =0)printf("%d",--y);}程序的运行结果是A)741 B)963 C)852 D)875421 (12) 有以下程序#include<stdio.h>int a=4;int f(int n){int t=0;static int a=5;if(n%2){a=6;t+=a++;}{ a=7;t+=a++;}return t+a++;}void main(){int s=a,i=0;for(;i<2;i++)s+=f(i);printf ("%d\n",s);}程序运行后的输出结果是A)24 B)28 C)32 D)36(13) 要求通过while循环不断读入字符,当读入字母N时结束循环。

c期中考试题库及答案

c期中考试题库及答案

c期中考试题库及答案一、选择题(每题2分,共20分)1. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-nameD. variable_name答案:B2. 在C语言中,哪个关键字用于声明一个函数?A. intB. functionC. voidD. return答案:C3. C语言中,哪个运算符用于比较两个值是否相等?A. ==B. !=C. =D. <=答案:A4. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. %D. ++答案:A5. 在C语言中,哪个函数用于计算一个数的绝对值?A. abs()B. fabs()C. sqrt()D. pow()答案:A6. C语言中,哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strncat()答案:A8. C语言中,哪个函数用于将整数转换为字符串?A. atoi()B. itoa()C. strtol()D. sprintf()答案:B9. 在C语言中,哪个关键字用于声明一个指针?A. int*B. pointerC. *D. ptr答案:C10. C语言中,哪个函数用于计算一个数的平方根?A. sqrt()B. pow()C. abs()D. log()答案:A二、填空题(每题2分,共20分)1. C语言中,用于声明一个整型变量的关键字是________。

答案:int2. C语言中,用于声明一个浮点型变量的关键字是________。

答案:float 或 double3. C语言中,用于声明一个字符型变量的关键字是________。

答案:char4. C语言中,用于声明一个布尔型变量的关键字是________。

c语言程序设计期中考试题及答案

c语言程序设计期中考试题及答案

c语言程序设计期中考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明函数?A. intB. returnC. voidD. function答案:A2. 以下哪个选项是C语言中的合法整型常量?A. 0x12B. 08C. 1.2e3D. 0b1010答案:A3. 若有以下代码段:```cint a = 10, b = 20;swap(a, b);```为了使代码正常工作,函数`swap`的参数应该是什么类型?A. intB. int*C. doubleD. double*答案:B4. 在C语言中,以下哪个运算符用于计算两个数的和?A. +=B. +=C. ||D. &&答案:A5. 下列哪个选项是C语言中的合法浮点数?A. 3.14B. .14C. 3e-2D. 1e答案:C6. 在C语言中,以下哪个关键字用于声明一个结构体?A. structB. unionC. enumD. typedef答案:A7. 以下哪个选项是C语言中的合法字符常量?A. 'a'B. "a"C. 'ab'D. '0'答案:A8. 在C语言中,以下哪个关键字用于声明一个数组?A. arrayB. listC. vectorD. int[]答案:D9. 以下哪个选项是C语言中的合法字符串常量?A. "Hello, World!"B. 'Hello, World!'C. "Hello" "World!"D. 'Hello' 'World!'答案:A10. 在C语言中,以下哪个关键字用于声明一个枚举?A. enumB. listC. setD. map答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个空语句的关键字是________。

C语言程序设计期中测试(参考)

C语言程序设计期中测试(参考)

C语言程序设计期中测试(参考)C 语言程序设计期中测试题姓名_______ 学号________一、选择题:(单选, 1分/题, 共20分)1. 设有 int x=11; 则表达式 (x++ * 1/3) 的值是A) 3 B) 4 C) 11 D) 122. 下列变量定义中合法的是A) double _a=1-.le-1; B) int b=1+5e2.5; C) long do=3e5; D) float2_and=1-e-3;3. 设 int x=1, y=1; 表达式( !x||y-- )的值是A) 0 B) 1 C) 2 D) –14. 若变量已正确定义并赋值,下面符合C语言语法的表达式是A) a:=b++ B) b=2++ C) int 18.5%3 D) a+=c+b5. C语言中运算对象必须是整型的运算符是A) <= B) / C) = D) %=6. 设有说明语句:char a=’\72’; 则变量aA) 说明不合法 B) 包含2个字符 C) 包含3个字符 D) 包含1个字符7. 以下所列的C语言常量中,错误的是A) 0xFF B )1.2e0.5 C ) 2L D ) '\t'8. 下列选项中,可作为C语言变量名是A) y-3 B ) 4_x C ) include D ) x1..9. 若int a=3; 则执行完表达式a+=a-=a*a后,a的值是A)-3 B )9 C )-12 D )610. 在C语言中,合法的长整型常数是A) 12L B) x496271 C) 324562& D) 216D11. 以下选项中合法的字符常量是A)"B" B) '\182' C) 68 D) ‘\’’12. 以下合法的赋值语句是A) x=y=100 B) d--; C) x+y; D) 3+=x;13. 设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是printf("%d,%d\n",x--,--y);A) 10,3 B) 9,3 C) 9,2 D)10,214. 以下选项中,非法的字符常量是A) '\t' B) '\17' C)"n" D) '\xaa'15. 以下选项中合法的实型常数是A) 5E2.0 B) E-3 C) .2E0 D) 1.3E16. 已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是A) 字符A B) 字符a C) 字符e D) 非法的常量17. 以下选项中,与k=n++完全等价的表达式是_______。

C语言期中考试题目及答案

C语言期中考试题目及答案

一、选择题:【1】在 C 语言中,用户能使用的正确标识符是。

A) 5f B) _for C) struct D) _f.5答案: B分析:标识符只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线;大小写敏感;不能使用关键字;最长 32 个字符。

【2】以下那个是正确的 C 语言常量。

A) 0678 B) '\0101' C) 1.2E3.5 D) 123L答案: D【3】以下对 C 语言源程序有关常识正确的描述是。

A) main 函数必须位于文件的开头B) 每个语句必须单独一行C) 标识符中大小写字母没有区别D) 宏定义#define 部分不一定要放在程序的最开头位置答案: D【4】以下 for 循环的执行次数是。

for(x=0,y=0;(y=123)&&(x<4);x++)A)是无限循环 B)循环次数不定 C) 执行 4 次 D)执行 3 次答案: C分析:若要判断(y=123)&&(x<4)假,因为 y=123 永远为真,所以只需要判断 x<4 为假即可。

【5】对 for(表达式 1;;表达式 3)可理解为。

A) for(表达式 1;0;表达式 3)B) for(表达式 1;1;表达式 3)C) for(表达式 1; 表达式 1;表达式 3)D) for(表达式 1; 表达式 3;表达式 3)答案: B【6】设有程序段int k=10;while(k=0) k=k-1;则下面描述中正确的是。

A) while 循环执行 10 次 B)循环是无限循环C)循环体语句一次也不执行 D)循环体语句执行一次答案: C分析:因为 k=0 为假,所以程序不执行其后的语句。

【7】C 语言中 while 和 do-while 循环的主要区别是。

A) do-while 的循环体至少无条件执行一次B) while 的循环控制条件比 do-while 的循环控制条件严格C) do-while 允许从外部转到循环体内D) do-while 的循环体不能是复合语句答案: A【8】设有: int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b)&&(n=c>d) 后 n 的值为。

c语言期中复习题及答案

c语言期中复习题及答案

c语言期中复习题及答案1. 以下哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. C语言中,以下哪个数据类型用于存储单个字符?A. intB. charC. floatD. double答案:B3. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. /B. *C. %D. ++答案:B4. 以下哪个选项是C语言中的逻辑运算符?A. &&B. ||C. =D. ==答案:A和B5. C语言中,以下哪个关键字用于声明一个函数?A. intB. returnC. voidD. function答案:C6. 在C语言中,以下哪个语句用于结束当前循环?A. continueB. breakC. exitD. return答案:B7. C语言中,以下哪个函数用于计算数组的长度?A. strlenB. sizeofC. lengthD. size答案:B8. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. 'Hello\nWorld'答案:A和C9. C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][4];B. int array[][];C. int array[3][];D. int array[3,4];答案:A10. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strncpyC. strcatD. strncat答案:A11. C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int *ptr[];C. int ptr*;D. int ptr=*;答案:A12. 在C语言中,以下哪个函数用于将整数转换为字符串?A. atoiB. itoaC. strtolD. sprintf答案:B13. C语言中,以下哪个选项是正确的结构体声明?A. struct {int id;char name[50];} employee;B. struct employee {int id;char name[50];};C. struct employee id, name;D. struct employee {int id;char name;};答案:B14. 在C语言中,以下哪个选项是正确的枚举类型声明?A. enum Color {Red, Green, Blue};B. enum {Red, Green, Blue} color;C. enum Color color;D. enum {Red, Green, Blue} Color;答案:A和B15. C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14159B. #define PI = 3.14159C. #define PI 3.14159D. #define PI 3.14159答案:A。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
输出的数据或判断正确的是:D
A. 3B.4C. 3.500000D.输出格式错误
10.若有变量定义int a; double b;要输入数据存放在a和b中,则下面正确的输入数据的语句为:C
A. scanf("%d%f",a,b);B. scanf("%d%f",&a,&b);
C. scanf("%d%lf",&a,&b);D. scanf("%d%lf",a,b);
int main()
{
int a,b,temp;
scanf("%d%d",&a,&b);
temp=a*a+b*b;
if(temp>100)
printf("%d",temp/100);
else
printf("%d",a+b );
return 0;
}
25.编写程序实现:输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形。例如,输入整数7时(注意:n不得大于10),程序运行结果如下:
printf(" max=%d\n ",max) ;
return 0;
}
31.若s是int型变量,且s=6,则下面表达式的值为1。
s%2+(s+1)%2
选择题
14.以下定义语句,编译时会出现编译错误的是A
A.char a=“a”;B.char a=’\0’;C.char a=’a’;D.char a=‘\x2d’;
{
case 10:
case 9:A++;break;
case 8:B++;break;
case 7:C++;break;
case 6:D++;break;
default:E++;
}
}
printf("A(90-100):%d\n",A);
printf("B(80-89):%d\n",B);
printf("C(70-79):%d\n",C);
15.以下程序中的变量已正确定义
for(i=0;i<4;i++,i++)
for(k=1;k<3;k++);printf("*");
程序段的输出结果是D
A.********B.****C.**D.*
13.设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是:C
A.if(a>b)c=a,a=b,b=c;B.if(a>b){c=a,a=b,b=c;}
2010-2011 C语言程序设计期中测验
填空题
16.已知:int a=5,b=6,w=1,x=2,y=3,z=4;执行语句“(a=w>x)&&(b=y>z);”后b的值为6
19.已知:int k= 4,a=3,b=2,c=1;则表达式“k<a ? k : c<b ?c :a”的值为1
21.下面程序的功能是用"辗转相除法"(设两个数m,n,假设m>=n,用m除以n,求得余数r。若r为0,则n为最大公约数;若r不等于0,则进行如下迭代:m=n,n=r,即原除数变为新的被除数,原余数变为新的除数重复算法,直到余数为0为止。余数为0时的除数n,即为原始m、n的最大公约数。)求两个正整数的最大公约数。请填空。
A.132<回车>B.1,3,2<回车>
C.a=1#b=3#c=2<回车>D.a=1,b=3,c=2<回车>
2.已知:char a=’a’;float b=2.3;double c=41;int d;则执行语句d=a+b+c;后变量d的数据类型为A
A.intB.charC.floatD.double
参考程序如下:
#include<stdio.h>
int main()
{
int n,score,A=0,B=0,C=0,D=0,E=0;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d;
switch(score)
{
if(c>'Z')c='A';
printf("%c ",c);
c++;
}
printf("\n");}
return 0;
}
30.输入一个正整数n,再输入n个学生的百分制成绩,统计各等级成绩的个数,成绩等级分为五级,分别为A(90~100),B(80~89),C(70~79),D(60~69)和E(0~59)注:用switch语句实现。
编程题
20.程序调试及改错:改正程序中的错误,不要改动主函数,不得增行或删行。
【问题描述】本程序计算:y=1-1/22-1/32-1/42-…-1/m2,改正程序中的错误,不要改动主函数,不得增行或删行。
#include<stdio.h>
int main()
{ int m, i
double y=1.0;
#include <stdio.h>
int main ( )
{ int i , j ;
for ( i = 0 ;i<10; i + + )
{ j = i *10 + 6 ;
if (j%3!=0)continue;
printf ( “ %d “ , j ) ;
}
}
26.构成C语言程序的基本单位是函数。
28.下面程序的功能是在一个正整数的各数字中找出最大者,如4721,最大数为7。请填空。
#include<stdio.h>
int main()
{
int n,max,t;
max=0;
scanf("%d",&n) ;
do{ t=n%10;
if(max<t) max=t ;
n=n/10;
} while(n!=0) ;
for(i=2;i<=m; i++) y-=1.0/(i*i);
printf("the result is: %lf\n",y );
return 0;
}
23.编程实现:输入整数a和b,若a2+b2大于100,则输出a2+b2百位及以上的数据,否则输出两数之和。
参考程序如下:
#include<stdio.h>
C.if(a>b)c=a;a=b;b=c;D.if(a>b){c=a;a=b;b=c;}
12.以下选项中,能用作用户标示符的是C
A.viodB.8_8C._0_D.unsigned
11.有输入语句:int a,b,c; scanf("a=%d,b=%d,c=%d", &a, &b, &c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应当是(注:#表示空格)D
printf("D(60-69):%d\n",D);
printf("E(0-59):%d\n",E);
return 0;
}
3.设整型变量x和y的值均为7,则表达式“x/(y-4)”的值是C
A. 3B.-3C. 2D. 1
4.设字符型变量ch中存放字符'A',则执行'ch+++5'后,ch中的字符是B
A. AB. BC. FD. G
6.若变量a的数据类型为double,执行下面两条语句后:
a=3.5;
printf("%d",a);
#include <stdio.h>
int main()
{int r,m,n;
scanf("%d%d",&m,&n);
if(m<n) {r=m;m=n;n=r;}
r=m%n;
while(r!=0){m=n;n=r;r=m%n;}
printf("%d\n",n);
return 0;
}
24.下面程序的功能是打印100以内个位数为6且能被3整除的所有数。
scanf(“%d”, m);
for(i=2;i<=m; i++) y-=1.0/i*i;
printf( “the result is: %f\n”, y );
return 0;
}
修改为:
#include<stdio.h>
int main()
{ int m, i;
double y=1.0;
scanf("%d",&m);
A B C D E F G
H I J K L M
N O P Q R
S T U V
W X Y
Z A
B
参考程序如下:
#include<stdio.h>
int main()
{
int i,n,j;
scanf("%d",&n);
char c='A';
for(i=1;i<=n;i++)
相关文档
最新文档