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语言》课程期中考试试卷一. 在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语言期中测试卷班级:学号:姓名:一、判断题〔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语言期中考试题目及答案
一、选择题:【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语言期中考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法标识符?A. 2variableB. intC. _intD. int1答案:C2. C语言中,用于定义一个字符常量的是?A. 'a'B. "a"C. aD. 1答案:A3. 下列哪个选项不是C语言中的关键字?A. intB. autoC. floatD. var答案:D4. 以下哪个选项是正确的C语言变量声明?A. int a, b;B. int a; int b;C. int a, b;D. All of the above答案:D5. C语言中,下列哪个函数用于将浮点数转换为字符串?A. sprintfB. printfC. scanfD. strcat答案:A6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ==D. All of the above答案:D7. 在C语言中,哪个运算符用于求余?A. %B. /C. *D. -答案:A8. C语言中,哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:C9. 下列哪个选项是C语言中的合法字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello\nWorld"D. "Hello\0World"答案:A10. 在C语言中,下列哪个选项是正确的数组声明?A. int array[5] = {0, 1, 2, 3, 4};B. int array[] = {0, 1, 2, 3, 4};C. int array[5] = {0, 1, 2};D. All of the above答案:D二、填空题(每题3分,共30分)1. 在C语言中,声明一个整型变量的关键字是________。
C语言期中测验试题及答案
{
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("D(60-69):%d\n",D);
printf("E(0-59):%d\n",E);
return 0;
}
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);
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
c语言大一期中考试试题及答案
c语言大一期中考试试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义变量的关键字是()。
A. varB. defineC. intD. let答案:C2. 下列选项中,不属于C语言基本数据类型的是()。
A. intB. floatC. stringD. char答案:C3. 在C语言中,以下哪个符号用于表示逻辑与操作()。
A. &&B. ||C. !D. =答案:A4. 下列哪个选项是正确的C语言函数声明()。
A. int function_name(int a, int b);B. int function_name(int a; int b);C. int function_name(int a, int b)D. int function_name(int a, int b)答案:A5. C语言中,用于输入输出的库函数是()。
A. math.hB. stdio.hC. string.hD. time.h答案:B6. 下列哪个选项是C语言中正确的注释方式()。
A. // 这是注释B. /* 这是注释 */C. //这是注释D. /*这是注释答案:B7. C语言中,用于定义数组的关键字是()。
A. listB. arrayC. tableD. int答案:B8. 下列哪个选项是C语言中正确的字符串定义方式()。
A. char str[] = "Hello";B. char str[] = 'Hello';C. char str = "Hello";D. char str[] = {"Hello"};答案:A9. C语言中,用于定义指针的关键字是()。
A. pointerB. refC. ptrD. *答案:D10. C语言中,用于定义结构体的关键字是()。
A. structB. classC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在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语言期中测试(开卷测试,答案写在白纸上)一.选择题(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期中考试题库及答案一、选择题(每题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语言期中考试试题及答案
中国民航大学 2009 - 2010 学年第二学期 《C 语言程序设计》期中考试试卷 课程编号: 03402513 试卷类型: A 卷 考试形式:笔试 考试日期: 注意事项: 1.请将试卷最后一页的答题纸撕下,将答案填写在其中; 2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交; 3.不准携带任何书籍、资料、纸张等。
4.草稿纸用试卷的背面。
一、单项选择题( 1 空 1 分,共 20 分) 1、C 语言程序的基本结构是 (【1】) 。
【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个 C 程序的执行是(【2】) 。
【2】 A) 从本程序的主函数开始,到本程序的主函数结束 B) 从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是 (【3】) 。
【3】 A) 一个 C 源程序必须有且只能有一个主函数 B) 一个 C 源程序可以含一个或多个子函数 C) 在 C 源程序中注释说明必须位于语句之后 D) C 源程序的基本结构是函数 4、下面不属于 C 语言保留字的是(【4】) 。
【4】 A) short B) ELSE C) extern D) for5、下列四个叙述中,正确的是 (【5】) 。
【5】 A) 库函数也是 C 语言本身的组成部分B) C 语言中的输入输出操作是由相应语句完成的C) 库函数是 C 编译系统提供的功能函数D) 标题文件(头文件)可以在程序的函数内部调用 题号 一 二 三 四 五 六 总分 得分 班级: 姓名: 准考证号: 任课教师 考场教室――――――――――――――――――――――――――装订线――― ――― ―― ――――― ―――― ――― ― ― ― ― ― ― ― ― ― ―-6、下列四组数据类型中, C语言允许的一组是(【6】)。
c语言期中考试题及答案2020
c语言期中考试题及答案2020一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于声明一个函数?A. intB. returnC. voidD. function答案:C2. 在C语言中,以下哪个运算符用于取模运算?A. %B. //C. /D. *答案:A3. 下列哪个选项是C语言中的合法整型常量?A. 0x12B. 08C. 0.5D. 1.2e3答案:A4. C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!"D. "Hello, World!"答案:A5. 在C语言中,以下哪个选项表示逻辑与运算?A. &&B. ||C. !D. &答案:A6. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. 在C语言中,以下哪个选项是正确的二维数组声明?A. int a[3][2];B. int a[2,3];C. int a[][];D. int a[2][3,2];答案:A8. C语言中,以下哪个函数用于计算并返回字符串的长度?A. strlen()B. length()C. size()D. len()答案:A9. 在C语言中,以下哪个选项是正确的指针声明?A. int *p;B. int *p[];C. int p*;D. int *p=0;答案:A10. C语言中,以下哪个关键字用于声明一个全局变量?A. staticB. externC. registerD. auto答案:B二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是________。
答案:int2. 如果一个函数的返回类型是void,则该函数没有________。
C语言期中机考试卷及答案
C语言期中测试(解压缩后运行examstar.exe,密码426008)一、单项选择题(30分,每题3分)每小题的四个选项中只有一个符合题目要求,请将正确选项前字母填在括号中。
1.一个C语言程序执行时总是从【______】开始。
DA. 主程序B. 子程序C. 函数D. 主函数2.下列标识符中,_______是关键字。
CA)Int B)INTC)int D)printf3.下列用户自定义标识符中,_______是正确的。
BA)long B)LongC)data.1 D)while4.以下能正确定义整型变量a、b、c的是_______。
BA)a,b,c; B)int a, b, c;C)float a, b, c; D)int a; b; c;5.下面正确的输入语句是______。
BA)scanf("a=b=%d",&a,&d); B)scanf("%d,%f",&a,&b);C)scanf("%a", a); D)scanf("%f", f);6.下面程序的输出结果是【______】。
B#include "stdio.h"void main(void){int i,sum1=0,sum2=0;for(i=1;i<10; i++)if( i%2==0 ) sum1+=i;else sum2+=i;printf("%d%d\n",sum1,sum2);}A. 5050B. 2025C. 20D. 257.下面程序的输出结果是【______】。
CA. YesB. NoC. NoYesD. YesNovoid main(void){char str[]="stdiopidts";int i, n=0;while(str[n])n++;for(i=0;i<n/2;i++)if(str[i]!=str[n-1-i]){printf("No");break;}printf("Yes");}8.完善程序求输入的十个整数中正数的个数及其和、平均值:【______】。
c语言期中上机考试题及答案
c语言期中上机考试题及答案一、选择题(每题2分,共10分)1. 下列哪个选项是C语言中的关键字?A. intB. INTC. IntegerD. integer答案:A2. C语言中,下列哪个符号用于表示逻辑与?A. &&B. ||C. !D. &答案:A3. 在C语言中,以下哪个函数用于将字符串转换成浮点数?A. atoiB. atofC. itoaD. sprintf答案:B4. 下列哪个选项是正确的C语言数组声明?A. int array[5] = {1, 2, 3};B. int array[] = {1, 2, 3};C. int array[3] = {1, 2, 3, 4, 5};D. int array[5] = {1, 2};答案:D5. 在C语言中,以下哪个函数用于获取当前系统时间?A. timeB. localtimeC. mktimeD. strftime答案:A二、填空题(每题2分,共10分)1. C语言中,用于定义一个整型变量的关键字是______。
答案:int2. C语言中,用于定义一个字符型变量的关键字是______。
答案:char3. C语言中,用于定义一个浮点型变量的关键字是______。
答案:float4. C语言中,用于定义一个双精度浮点型变量的关键字是______。
答案:double5. C语言中,用于定义一个字符串常量的关键字是______。
答案:char[]三、编程题(每题10分,共20分)1. 编写一个C语言程序,计算并输出1到100之间所有整数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}printf("Sum of numbers from 1 to 100 is: %d\n", sum);return 0;}```2. 编写一个C语言程序,实现输入一个整数,判断并输出该整数是奇数还是偶数。
C语言期中机考试卷及答案
C语言期中测试(解压缩后运行examstar.exe,密码426008)一、单项选择题(30分,每题3分)每小题的四个选项中只有一个符合题目要求,请将正确选项前字母填在括号中。
1.一个C语言程序执行时总是从【______】开始。
DA. 主程序B. 子程序C. 函数D. 主函数2.下列标识符中,_______是关键字。
CA)Int B)INTC)int D)printf3.下列用户自定义标识符中,_______是正确的。
BA)long B)LongC)data.1 D)while4.以下能正确定义整型变量a、b、c的是_______。
BA)a,b,c; B)int a, b, c;C)float a, b, c; D)int a; b; c;5.下面正确的输入语句是______。
BA)scanf("a=b=%d",&a,&d); B)scanf("%d,%f",&a,&b);C)scanf("%a", a); D)scanf("%f", f);6.下面程序的输出结果是【______】。
B#include "stdio.h"void main(void){int i,sum1=0,sum2=0;for(i=1;i<10; i++)if( i%2==0 ) sum1+=i;else sum2+=i;printf("%d%d\n",sum1,sum2);}A. 5050B. 2025C. 20D. 257.下面程序的输出结果是【______】。
CA. YesB. NoC. NoYesD. YesNo #include "stdio.h"void main(void){char str[]="stdiopidts";int i, n=0;while(str[n])n++;for(i=0;i<n/2;i++)if(str[i]!=str[n-1-i]){printf("No");break;}printf("Yes");}8.完善程序求输入的十个整数中正数的个数及其和、平均值:【______】。
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语言期中考试题目及答案
一、选择题:【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语言期中考试试题及答案1
高级语言程序设计试题答案在最后一、单项选择题(本大题共20小题,每小题2分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1.C语言程序编译时,程序中的注释部分是()A.参加编译,并会出现在目标程序中B.参加编译,但不会出现在目标程序中C.不参加编译,但会出现在目标程序中D.不参加编译,也不会出现在目标程序中2.设int a=3;则表达式a<1&&--a>1的运算结果和a的值分别是()A.0和2B.0和3C.1和2D.1和33.与语句if(a>b)if(c>d)x=1;else x=2;等价的是()A.if(a>b){if(c>d)x=1;else x=2;}B.if(a>b){if(c>d)x=1;}else x=2;C.if((a>b)&&(c>d))x=1;else x=2;D.if(a<=b)x=2;else if(c>d) x=1;4.设char x='a';则printf("x=%c,y=%c\n",x,97);的输出是()A.x=a,y=97B.x=97,y=aC.x=97,y=97D.x=a,y=a5.执行下列程序int a[3][3]={{1},{2},{3}};int b[3][3]={1,2,3};main(){printf("%d\n”,a[1][0]+b[0][0]);}后输出的结果是()A.0B.1C.2D.36.结构化程序设计所规定的三种基本控制结构是( )A) 输入、处理、输出B) 树形、网形、环形C) 顺序、选择、循环D) 主程序、子程序、函数7.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( )A.连接、编译B.编译、连接C.连接、运行D.运行8.下列各语句中,能够且仅输出整型变量a、b中最大值的是( )A. if(a>b) printf(″%d\n″,a);printf(″%d\n″,b);B. printf(″%d\n″,b);if(a>b) printf(″%d\n″,a);C. if(a>b) printf(″%d\n″,a);else printf(″%d\n″,b);D. if(a<b) printf(″%d\n″,a);printf(″%d\n″,b);9.执行语句“for(s=0,i=1;i<=10;i=i+3) s+=i;”后,变量s、i的当前值是( )A. 22,13B. 12,10C. 22,10D. 12,1310.下列各语句定义了数组,其中一个不正确的是( )A. static int a[5],b[2][3];B. char no[30],rec[30,6];C. int x[]={2,4,6,8,10};D. int x[10]={1,2,3,4,5};二、填空题(本大题共10小题,每小题2分,共20分)11.初始化值是0.618的双精度变量a的定义形式为____________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题:【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的值为。
A)1 B)2 C)3 D)4答案:B分析:对于&&运算,只要第一个操作数为假,就不判定第二个操作数。
对于||运算,只要第一个操作数为真,就不判定第二个操作数。
上题中m=a>b为假,则n=c>d没有被判定,所以n的值仍为2。
【9】以下程序运行后,a和b的值分别为:#include <stdio.h>main(){int a,b;a=10%3,b=5;printf(“%%%d,%%%%d”, a , b);}A)%%1,%%%5 B)%1,%%d C)%%3,%%5 D)1,5答案:B分析:如果两个%连在一起,则输出一个%【10】在以下运算符中,优先级最高的运算符是()(A) <= (B) /(C) != (D) &&答案:B【11】下列对一维数组a的正确说明语句为。
A) int a(10); B) int n=10, a[n];C) int n; D) #define SIZE 10scanf("%d", &n); int a[SIZE];int a[n];答案:D分析:数组名后面的[]是数组的标志,不能用圆括号或其它符号代替;数组元素的个数必须是一个固定的值,可以是整型常量、符号常量或整型常量表达式,不能是变量。
【12】下面程序段的输出结果是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 9 B)1 4 7 C)3 5 7 D) 3 6 9答案:C分析:数组x[3][3]的元素分别为:x[0][0] x[0][1] x[0][2]x[1][0] x[1][1] x[1][2]x[2][0] x[2][1] x[2][2]对数组初始化后对应的值为: 1 2 34 5 67 8 9当i=0时,x[i][2-i]= x[0][2]=3当i=1时,x[i][2-i]= x[1][1]=5当i=2时,x[i][2-i]= x[2][0]=7当i=3时,条件不成立,程序退出。
二、填空题:【1】main(){ int a=5;float x=5.3,y=6.6;printf("%.2f",x+a%3*(int)(x+y)%2/4);}答案:5.30分析:算术运算符结合方向为自左向右,并注意格式控制。
【2】main(){ int a=1,b=2,m=2,n=2;(m=a>b)&&++n;printf(“%d\n”,n++);}答案:2分析:对于&&运算,只要第一个操作数为假,就不判定第二个操作数。
所以n的值为2,表达式n++的值也为2。
【3】main(){ int x=1,y=0;y=(x-->(y+x)?10:12.5>y++?20:30);printf("%d",y);}答案:10分析:关系运算符的优先级高于条件运算符,条件运算符的结合方向为自右向左。
--x>(y+x)或x-->(y+x)之类结构中,右边的x应为自减后的值。
如表达式x>(y+x)?10:12.5>y++?20:30; 的值为20;表达式--x>(y+x)?10:12.5>y++?20:30; 的值为20。
【4】main(){ int n=0;while (n<=2){ n++;printf(“%d”,n);}}答案:123分析:{ n++; printf(“%d”,n);}为while语句的循环体部分,当n=0时条件成立,执行n++后n 的值变为1,并输出1;当n=1时条件成立,执行n++后n的值变为2,并输出2;当n=2时条件成立,执行n++后n的值变为3,并输出3;n=3时条件不成立,程序退出。
【5】main(){ int i=0;do{ printf(“*”);i++;if (i>3) break;} while (1);printf(“\n”);}答案:****分析:此题中的while (1)永远为真,程序结束依靠break来控制,循环体语句为{ printf(“*”); i++;if (i>3) break; },当i的值分别为0,1,2,3时,程序循环四次,输出****;当i的值为4时,i>4为真,退出整个程序。
【6】main(){ int a,i;for ( a=1,i=-1; -1<=i<1;i++){ a++;printf(“%d”,a);}printf(“%d”,i);}答案:-1分析:此题中for的循环体语句为{ a++;printf(“%d”,a);}。
当i=-1时,-1<=i<1为0(为假),则不执行{ a++;printf(“%d”,a);},也就不输出a的值,所以只输出i的值为-1。
【7】main(){ int i,x;for ( i=1,x=1;i<=50;i++){ if (x>=10) break;if (x%2==1){ x+=5; continue;}x-=3;}printf(“x=%d,i=%d\n”,x,i);}答案:x=10,i=6分析:break的功能是退出整个循环,结束程序的执行;而continue的功能是退出本次循环,进入下次循环。
此题可用变量跟踪法来求解:i x x%2 x+=5 x-=31 1 1 62 6 0 33 3 1 84 8 0 55 5 1 106 10 则if (x>=10) break;条件成立,退出整个循环。
【8】以下程序的运行结果是。
main(){ int i, v1=0, v2=1, v3=2;for(i=1; i<10; i++){ switch ( i% 4){ case 1: v1++;case 2: v2++; break;default: v3++;}}printf("%d,%d,%d\n ",v1,v2,v3);}答案:3,6,6分析:用变量分析法如下:i i% 4 v1 v2 v31 1 1 22 2 33 3 34 0 45 1 2 46 2 57 3 58 0 69 1 3 6【9】执行以下程序后,输出结果是多少?main(){int j,k,s;for(k=2;k<6;k++,k++){s=1;for(j=k;j<6;j++) s+=j;}printf("%d",s);}答案:10分析:此题要注意每循环一次,s的值就变为1,要得到s的值只需要看最后一次循环后s 的值即可。
当k=4时,j分别等于4和5,当j=4时,s+=j的值为5;当j=5时,s+=j的值为10。
【10】以下程序的运行结果是。
main(){int i=0;do { + + i;if (i % 2!=0) printf("%d,",i);}while (i<=15)答案:1,3,5,7,9,11,13,15分析:用变量跟踪法进行分析:i + + i i % 2!=0 是否执行printf("%d,",i)0 1 真是1 2 假否2 3 真是3 4 假否4 5 真是5 6 假否6 7 真是7 8 假否8 9 真是9 10 假否10 11 真是11 12 假否12 13 真是13 14 假否14 15 真是15 16 条件不成立,退出程序。
三、程序填空输入一个正整数,求该数各位之和,如输入3256, 求得3+2+5+6=16。
main(){ int i,t= 【1】;scanf(“%d”,&i);while( 【2】){t+= 【3】; i/=10;}printf(“%d\n”,t);}答案:【1】0 【2】i>0 【3】i%10分析:本题定义i为输入的整数,t为各位数字之和。
四、编程题:编程求“卖西瓜”问题。
问题:有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?参考答案一:(其中d为天数,s为西瓜数量)main(){int d,s=1020;for(d=0;s>=0;d++)s=s/2-2;printf("%d",d);}参考答案二:(其中day为天数,sum为西瓜数量)main(){int day,sum;day=0,sum=0;while(sum<=1020){sum=sum*2+4;day++;}printf("%d",day);}。