C语言考试试卷

合集下载

计算机C语言试卷含答案

计算机C语言试卷含答案

自信考试 诚信做人哈尔滨工业大学(威海)2011/2012学年春季学期C 语言程序设计 笔试试题(A 卷)题号 一二三四五六笔试(70%) 综合 (30%) 总分分数1. 笔试卷面总分100分,取卷面成绩的70%计入总分;2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸;4. 答题时间120分钟。

一、单项选择题。

请把答案填入下面框中,不允许出框线。

(本题16分,每小题1分)题号 1 2 3 4 5 6 7 8 答案 题号 9 10 11 12 13 14 15 16 答案1.有以下定义:int a; long b; double x,y;则下列正确的是( )。

A) a%(int)(x-y) B) a=x!=y C) (a*y)%b D) y=x+y=x2. 以下C 语言标识符中,不合法的是( )。

A) _2 B) a_b C) a--b D) AaBc3. C 语言允许函数类型默认定义,此时该函数值隐含的类型是( )。

A) float B) int C) long D) double4. 若有定义 int (*p)[3];则下列说法正确的是( )。

A) 定义了基类型为int 的三个指针变量B) 定义了一个名为 *pt 、具有三个元素的整型数值C) 定义了一个名为pt 的指针变量,它可以指向每行有三个整数元素的二维数组D) 定义了基类型为int 的具有三个元素的整型数组号学名姓注意行为规范 遵守考试纪律自信考试诚信做人5.有以下程序#include <stdio.h>main(){int a=1,b=0;if(!a)b++;else if(a==0)if(a) b+=2;else b+=3;printf("%d\n",b);}则程序输出( )。

A) 0 B) 1 C) 2 D) 36.有以下程序段#include <stdio.h>main(){int x=10;while(x--);printf("x=%d\n",x);}则最后的输出结果是:( )。

2023年9月青少年软件编程C语言等级考试试卷一级真题(含答案)

2023年9月青少年软件编程C语言等级考试试卷一级真题(含答案)

2023年9月青少年软件编程C语言等级考试试卷一级(含答案)分数:100 题数:5一、编程题(共5题,共100分)第1题. 日期输出给定两个整数,表示一个日期的月和日。

请按照"MM-DD"的格式输出日期,即如果月和日不到2位时,填补0使得满足2位。

时间限制:10000内存限制:65536输入2个整数m,d(0 < m <= 12, 0 < d <= 31)。

数据保证日期合法。

输出按照题目要求输出日期样例输入7 18样例输出07-18 。

参考答案:。

第2题. 计算(a+b)*(c-b)的值给定3个整数a、b、c,计算表达式(a+b)*(c-b)的值。

时间限制:1000内存限制:65536输入输入仅一行,包括三个整数a、b、c, 数与数之间以一个空格分开。

(-10,000 < a,b,c < 10,000)输出输出一行,即表达式的值样例输入2 3 5样例输出10 。

参考答案:。

第3题. 有一门课不及格的学生给出一名学生的语文和数学成绩,判断他是否恰好有一门课不及格(成绩小于60分)。

时间限制:10000内存限制:65536输入一行,包含两个在0到100之间的整数,分别是该生的语文成绩和数学成绩。

输出若该生恰好有一门课不及格,输出1;否则输出0。

样例输入50 80样例输出1 。

参考答案:。

第4题. 特殊求和如果一个数能够被7整除或者十进制表示中含有数字7,那么我们称这个数为幻数,比如17,21,73是幻数,而6,59不是。

对于给定的N,求出1~N中所有幻数的和。

时间限制:1000内存限制:65536输入一个整数N(1 < N < 10000)。

输出一个整数,表示1~N中所有幻数的和。

样例输入14样例输出21 。

参考答案:。

第5题. 比n小的最大质数对于给定的n,求比n小的质数中最大的一个。

质数是指一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数。

(完整版)C语言试卷及答案

(完整版)C语言试卷及答案

(完整版)C语言试卷及答案一、选择题(每题2分,共40分)1、C语言源程序的基本单位是( )A.程序行B.语句C.函数D.字符2、C语言规定:在一个源程序中,main函数的位置()。

A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后3、在下列字符列中,合法的标识符是( )A.p12&.aB.stud_100C. water$12D.88sum4、在C语言中,要求运算的数必须是整数的运算符是()A./B.!C.%D.= =5、设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a 的值是()A、3B、0C、9D、-126、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a > b)&&(n=c>d)后n的值为()A、1B、2C、3D、47、执行下列程序时输入:1234567,程序的运行结果是()main(){int x,y;scanf(“%2d%*2c%1d”,&x,&y);printf(“%d\n”,x+y);}A.17B.46C.15D.98、下述程序的输出结果是() #includevoid main(){int x=-1,y=4;int k;k=++x<=0&&!(y--<=0);printf("%d,%d,%d",k,x,y);}A.0,0,3B.0,1,2,C.1,0,3,D.1,1,29、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。

A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if10、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()main(){int x;scanf(“%d“,&x);if(x++>5)printf(“%d”,x);else printf(“%d\n”,x--);}A.7和5B.6和3C.7和4D.6和411、若变量c为char类型,能正确判断出c为小写字母的表达式是( )A. 'a'<=c<= 'z'B. (c>= 'a')||(c<= 'z')C. ('a'<=c)and ('z'>=c)D. (c>= 'a')&&(c<= 'z')12、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是。

2024年6月青少年软件编程C语言等级考试试卷一级真题

2024年6月青少年软件编程C语言等级考试试卷一级真题

2024年6月青少年软件编程C语言等级考试试卷一级真题分数:100 题数:51.奇迹(20分)。

经典电影《阿甘正传》有句台词,说:(奇迹每天都发生)。

本题就请你直接在屏幕上输出这句话。

输入:本题没有输入。

输出:在一行中输出。

样例输入:无。

样例输出:2.九牛一毛(20分)。

这是一道脑筋急转弯题:猪肉一斤15元,鸡肉一斤20元,那么一毛钱能买多少头牛?答案是:9——因为“九牛一毛”。

本题就请你按照这个逻辑,计算一下N块钱能买多少斤猪肉、多少斤鸡肉、多少头牛。

输入:输入在一行中给出一个不超过1000的正整数N,即以“元”为单位的货币量。

输出:在一行中顺序输出N块钱能买多少斤猪肉、多少斤鸡肉、多少头牛。

三个数字都取整数,其间以1个空格分隔,行首尾不得有多余空格。

样例输入:样例输出:3.题A除以B(20分)。

给定两个绝对值不超过100的整数A和B,要求你按照“A/B=商”的格式输出结果。

输入:输入在第一行给出两个整数A和B(-100≤A,B≤100),数字间以空格分隔。

输出:在一行中输出结果:如果分母是正数,则输出“A/B=商”;如果分母是负数,则要用括号把分母括起来输出;如果分母为零,则输出的商应为“Error”。

输出的商应保留小数点后2位。

4.进化论(20分)。

在“一年一度喜剧大赛”上有一部作品《进化论》,讲的是动物园两只猩猩进化的故事。

猩猩吕严说自己已经进化了9年了,因为“三年又三年”。

猩猩土豆指出“三年又三年是六年呐”。

本题给定两个数字,以及用这两个数字计算的结果,要求你根据结果判断,这是吕严算出来的,还是土豆算出来的。

输入:输入第一行给出一个正整数N,随后N行,每行给出三个正整数A、B和C。

其中C不超过10000,其他三个数字都不超过100。

输出:对每一行给出的三个数,如果C是A×B,就在一行中输出“Lv Yan”;如果是A+B,就在一行中输出“Tu Dou”;如果都不是,就在一行中输出“zhe du shi sha ya!”。

c语言试卷集(10套)-试题及答案

c语言试卷集(10套)-试题及答案

c语言试卷集(10套)-试题及答案C语言试卷集(10套)-试题及答案试卷一一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“真”的值是()。

A. 0B. 1C. -1D. 任意非零值答案:B2. 下列哪个选项是C语言中的合法变量名?()A. 2variableB. variable2C. variable_2D. variable!答案:C3. C语言中,用于定义一个整型数组的语句是()。

A. int array[10];B. int [10] array;C. int 10 array;D. int array=10;答案:A4. 下列哪个选项是C语言中的合法字符串常量?()A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A5. C语言中,用于表示逻辑“假”的值是()。

A. 0B. 1C. -1D. 任意非零值答案:A6. 下列哪个选项是C语言中的合法浮点数常量?()A. 3.14B. 314.C. .314D. 3.14E答案:A7. C语言中,用于定义一个整型变量的语句是()。

A. int x;B. var x;C. x int;D. int = x;答案:A8. 下列哪个选项是C语言中的合法字符常量?()A. 'A'B. "A"C. 'AB'D. "AB"答案:A9. C语言中,用于定义一个字符数组的语句是()。

A. char array[10];B. char [10] array;C. char 10 array;D. char array=10;答案:A10. C语言中,用于表示字符常量的是()。

A. 'A'B. "A"C. AD. "A"答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量并初始化为0的语句是()。

C语言试卷(含答案)

C语言试卷(含答案)

一、单项选择题(每小题2分,共40分)1、sizeof(float)是()A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100和分别赋给i和f,则正确的输入为()。

A. 100B. i=100,f=765.12C. 100<回车>D. x=100y=3、#include<>voidmain(){inta=3,b=2,c=1;intx=10,y=20;if(a<b)if(b!=0)if(!x)y=1;elseif(x)y=0;y=-1;printf("%d",y);}上面的C程序的输出结果是()。

A. 20B. 1C. 0D. -14、C语言中,while和do…while循环的主要区别是()。

A. do…while的循环体至少无条件执行一次B. while的循环控制条件比do…while的循环控制条件严格C. do…while允许从外部转到循环体内D. do…while的循环体不能是复合语句5、执行下面的C程序段后,输出结果是()。

inta=5;while(a--);printf("%d",a);A. 54321B. 4321C. 0D. -16、在C语言中,()是在所有函数外部声明的。

A. 全局变量B. 局部变量C. 形参D.实参7、分析下面的C程序:#include<>voidmain(){intnum=0;while(num<=2){num++;printf("%d",num);}}输出结果是()。

A. 123B. 012C. 23D. 128、下面的C语言代码段的输出结果是()。

15真题与答案 202409青少年软件编程(C语言)等级考试试卷(一级)

15真题与答案  202409青少年软件编程(C语言)等级考试试卷(一级)

202409青少年软件编程(C语言)等级考试试卷(一级)分数:100 题数:51. 嫑废话上代码Linux 之父 Linus Torvalds 的名言是:“Talk is cheap. Show me the code.”(嫑废话,上代码)。

本题就请你直接在屏幕上输出这句话。

时间限制:1000内存限制:65536输入本题没有输入。

输出在一行中输出 `Talk is cheap. Show me the code.`。

样例输入样例输出参考答案:#include<bits/stdc++.h>using namespace std;int main(){cout<<"Talk is cheap. Show me the code.";}2.太神奇了“告诉大家一个神奇的消息,太神奇了:明年全世界所有的人都同岁,全部都等于2022。

明年的日子很特别,大概每1000年才会有一次。

明年你的周岁年龄+你的出生年,每个人都是2022年。

例如:你明年57加上1965年生的,加起来就是2022年。

特别奇怪,连中外专家都无法解释!你计算一下,看看是不是2022。

真是千年等一回呀!真准!转朋友圈,让大伙都算一下吧!”据说这个“电子包浆”贴每年都会出现。

本题就请你根据发贴人提到的周岁年龄和出生年,判断其发贴的时候是哪一年。

时间限制:1000内存限制:65536输入输入在第一行中给出两个正整数,即周岁年龄和出生年,其中年龄在 (0, 200) 区间内,出生年在 (1900, 2022) 区间内。

输出在一行中输出发贴年份。

样例输入样例输出提示样例说明因为贴子里说“明年全世界所有的人都同岁”,所以发贴是在今年,即 2021 年。

参考答案:#include<bits/stdc++.h>using namespace std;int main(){int a,b;cin>>a>>b;cout<<a+b-1;}3. 最佳情侣身高差专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)× 1.09 =(男方的身高)。

C语言试卷(含答案)

C语言试卷(含答案)

C语言试卷(含答案)一、单项选择题(每小题2分,共40分)1、sizeof(float)是()A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100和分别赋给i和f,则正确的输入为()。

A. 100B. i=100,f=765.12C. 100<回车>D. x=100y=3、#include<>voidmain(){inta=3,b=2,c=1;intx=10,y=20;if(a<b)< p="">if(b!=0)if(!x)y=1;elseif(x)y=0;y=-1;printf("%d",y);}上面的C程序的输出结果是()。

A. 20B. 1C. 0D. -14、C语言中,while和do…while循环的主要区别是()。

A. do…while的循环体至少无条件执行一次B. while的循环控制条件比do…while的循环控制条件严格C. do…while允许从外部转到循环体内D. do…while的循环体不能是复合语句5、执行下面的C程序段后,输出结果是()。

inta=5; while(a--);printf("%d",a);A. 54321B. 4321C. 0D. -16、在C语言中,()是在所有函数外部声明的。

A. 全局变量B. 局部变量C. 形参D.实参7、分析下面的C程序:#include<>voidmain(){intnum=0;while(num<=2){num++;printf("%d",num);}}输出结果是()。

A. 123B. 012C. 23D. 128、下面的C语言代码段的输出结果是()。

C语言试卷1(含答案)

C语言试卷1(含答案)
else j=i;
putchar (j);
}
3、下面的函数功能是求x的y次方。
double fun(double x,int y)
{ int i;
double z=1;
for(i=1;i<=y;i++)
z=z*x;
return z;
}
4、先为数组a输满数据,再为x输入一个数据,在数组a中找出第一个与x相等的元素并将下标输出,若不存在这样的元素,则打印”Not found!”标志。
printf("\"%s\"\n",ch[1]);
}
A. "AAAA"B. "BBB"C. "BBBCC"D. "CC"
9.在C语言中,形参的缺省存储类是。
A. autoB. registerC. staticD. extern
10.以下程序的输出结果是。
main()
{ char x=040;
printf("%0\n",x<<1);
27.对break语句和continue语句,下面说法不正确的是。
A.break语句强制中断当前循环,退出循环体
B.break语句只能用在三条循环语句的循环体或switch语句中
C. 在没有循环情况下,continue语句能用在switch语句中
D.continue语句不能退出循环体
28.c语言允许if-else语句可以嵌套使用,规定else总是与配对。
A.&aa[0]+1B.&aa[1]C..&aa[0]++D. aa+1

C语言期末考试试卷附参考答案

C语言期末考试试卷附参考答案

一、单项选择题(请将答案填在下面表格中20×1)1.以下叙述中正确的是()。

A.C语言比其他语言高级B.C语言可以不用编译就能被计算机识别执行C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D.C语言出现的最晚,具有其他语言的一切优点2.以下叙述中正确的是()。

A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C.main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3.以下叙述中正确的是()。

A.C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分4.以下有关for循环的正确描述是()。

A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5.对下面程序段的描述,正确的是()。

x=-1;do{x=x*x;}while(!x);A.是死循环B.循环执行一次C.循环执行两次D.有语法错误6.以下有关C语言数组说法正确的是()。

A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。

A.inta(20);B.inta[]={1,2,5,7,0};C.inta[n];D.inta[2]={1,2,4,6};8.在定义intb[2][10];之后,对b数组元素引用正确的是()。

A.b[0][9]B.b[2,3]C.b(1)(5)D.b[10][0]9.如有定义语句intc[]={1,5,3,4,6,7,0};,则数组c有()个元素。

c语言试卷(含答案)

c语言试卷(含答案)

一、选择题(26分)1. 正确的C语言标识符是(A)。

A._buy_2 B.2_buy C.?_buy D.buy?2. 以下选项中,合法转义字符的选项是(A)。

A.’\\’ B.’\018’ C.’xcb’ D.’\ab3、下列语句中,错误的是(B )A、#define PI 3.14159B、#include <math.h>;C、if(2);D、for(;;) if(1) break;4、能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是()A、 a>=10 or a<=0B、 a>=0|a<=10C、 a>=10 &&a<=0D、 a>=10‖a<=05、以下对break语句使用的正确描述是()A、可以出现在程序中的任何位置B、只能出现在循环结构中或switch结构中C、只能出现在switch结构中D、只能出现在循环结构中6. C语言程序的基本单位是(C)。

A.程序行 B.语句 C.函数 D.字符7、已知各变量的类型说明如下:()int m=6,n, a, b;unsigned long w=8;double x=3.14, y=0.12;则以下符合C语言语法的表达式是(A)。

A.a+=a-=(b=2)*(a=8) B. n=n*3=18C.x%3 D.y=float (m)8、已有定义:char x[]=“ab”,y[ ]={‘a’,’b’ };,以下叙述中正确的是( C)A、数组x和y的长度相同B、x数组长度小于y数组长度C、x数组长度大于y数组长度D、上述说法都不对9、设有定义“int x=3,y,*p=&x”,则下列语句中使y不为3的语句是(D )A、y=*&xB、y=*pC、y=xD、y=&x10、设x、y、z均为int型变量,则执行语句:x=y=3;z=++x||++y;后,y的值为()A、不定值B、4C、3D、111.有如下程序段:int x1,x2;char y1,y2;scanf(”%d%c%d%c”,&x1,&y1,&x2,&y2);若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是(A)。

C语言试卷及答案

C语言试卷及答案

for(i=0;c=s[i];i++)
if(c==’’) word=0;
else if(word==0)
{word=1;num++;}
printf(“%d\n”,num);
}
(A)2 (B)3 (C)4 (D)5
33.以下程序运行结果是 A

#include<string.h>
main() {char s[50]=”1234567”,*p=s; int i; i=*(p+5)-*(p+2); printf(“%d\n”,i*strlen(s)); }
(A)double (B)char (C)int (D)float
10. C 语言中要求操作数必须是整数的运算符是 B

(A)/ (B)%
(C)!= (D)=
11.用 scanf(“%d,%d”,&a,&b)输入数据时,下面输入法中正确的是 A 。
(A)123,4 (B)123 4 (C)123;4 (D)
(C)C 语言本是没有输入输出语句。
(D)在对一个 C 程序进行编译的过程中,可发现注释中的拼写错误。
4.以下叙述不正确的是 D

(A)逗号运算符的运算级最低。
(B)ABC 和 abc 是两个不同的变量。
(C)若 a 和 b 类型相同,在执行 a=b 后,b 的自身值不变。
(D)‘a’和“a”是完全等价的常量。
(A)for(i=1,p=1;i<=5;i++) p*=i;
(B)for(i=1;i<=5;) { p=1;p*=i;i++;}
(C)i=1;p=1;while(i<=5) { p*=i;i++;}

c语言期末试卷B卷(附答案)

c语言期末试卷B卷(附答案)

一、单项选择题(每小题2分,共30分)1. 下列关于C语言用户标识符的叙述中正确的是( B )(A)用户标识符中可以出现在下划线和中划线(减号)(B)用户标识符中不可以出现中划线,但可以出现下划线(C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头(D)用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头2. 在C语言中,合法的字符常量是( A )(A)’\087’ (B)’\x43’ (C)’abe’ (D)”\0”3. x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( B )(A) INPUT x、y、z; B)scanf(“%d%d%d”,&x,&y,(C) scanf(“%d%d%d”,x,y,z); (D)(scanf(“%d%d%d”,&x,y,&z);4. 若整型变量a、b、c、d中的值依次为:1、4、3、2。

则条件表达式a<b?a:c<d?c:d的值( )(A) 1 (B) 2 (C) 3 (D) 45. 设有:int a=3,b=2,c=6,d=4,m=2,n=3;执行((m=a>b) || (n=c>d))后n的值为( B )(A) 0 (B) 1 (C) 2 (D) 36. 若a为int类型,且其值为3,则执行完a*=a+=a*a;后,a的值是( D )(A) –3 (B) 9 (C) –12 (D) 1447. 设int a=12,b=8;则a/b的结果为:( B )(A) 1.5 (B) 1 (C) 3/2 (D) 28. 若定义:int a=511,*b=&a; 则printf("%d\n",*b);的输出结果为(D)(A) 无确定值 (B) a的地址 (C) 512 (D) 5119. 在C语言中,引用数组元素时,其数组下标的数据类型允许是( C )(A) 整型常量 (B)整型表达式(C ) 整型常量或整型表达式 (D) 任何类型的表达式10. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( B )(A) 地址传递 (B) 单向值传递(C) 由实参传给形参,再由形参传回实参 (D) 传递方式由用户指定11. 数字字符0的ASCII值为48,若有以下程序main( ){ char a='1',b='2';printf("%c,",b++);printf("%d\n",b-a);}程序运行后的输出结果是( A )(A)3,2 (B) 50,2 (C)2,2 (D)2,5012. 以下函数值的类型是( D )fun ( float x ){ float y;y= 3*x-4;return y;}(A) int (B) 不确定 (C) void (D) float13. 以下能正确定义一维数组的选项是( B )(A) int a[5]={0,1,2,3,4,5}; (B)int a[]={0,1,2,3,4,5};(C) char a={'A','B','C'}; (D)int a[5]="0123";14. 有以下程序,结果为: ( D )main( ){ int a[5]={1,2,3,4,5};int *pa=&a[1];printf(“%d”,pa[2]);}(A) 3 (B) 4 (C) 5 (D) 215. 假设struct student{ int num;float score;} stu1;则下列赋值语句中正确的是( C )(A) student.score=85; (B) student={1001,95};(C) stu1.num=1001; (D) stu1->num=1001;二、判断题(对的打“√”,错的打“×”,每小题1分,共10分)1. 定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。

C语言程序设计考试试题(附答案)

C语言程序设计考试试题(附答案)

C语言程序设计考试试题(附答案) C语言程序设计考试试题(附答案)一、选择题(共30题,每题2分,共60分)1. 下列哪个是C语言关键字?A. printB. variableC. whileD. calculate答案:C2. 在C语言中,下列哪个是合法的变量名?A. 1_helloB. _worldC. v-ariableD. continue答案:B3. 下列哪个是正确的C语言注释方式?A. // This is a commentB. # This is a commentC. /* This is a comment */D. <!-- This is a comment -->答案:C4. 下列哪个是正确的C语言函数定义格式?A. void addNumbers()B. addNumbers()C. function addNumbers()D. int addNumbers()答案:D5. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 2;float result = x / y;printf("%f", result);return 0;}```A. 2.5B. 2C. 2.000000D. 5答案:B6. 在C语言中,下列哪个是正确的if语句格式?A. if (x > 4) thenB. if (x > 4) { }C. if x > 4D. if (x > 4)答案:D7. 下列哪个是C语言中的逻辑运算符?A. ++B. &&C. %D. =答案:B8. 在C语言中,下列哪个是正确的for循环格式?A. for (x = 0; x < 5)B. for {x = 0; x < 5; x++}C. for (int x = 0; x < 5; x++)D. for (x = 0; x < 5;)答案:C9. 下列哪个是C语言中的自增运算符?A. ++B. +=C. =D. --答案:A10. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 2;x *= 3 + 4;printf("%d", x);return 0;}```A. 14B. 20C. 21D. 22答案:C11. 在C语言中,下列哪个是正确的switch语句格式?A. switch (x) {case 1;case 2;break;default;break;}B. switch (x) {case 1:case 2:break;default:break;}C. switch (x) case 1:case 2:break;default:break; D. switch (x) { case 1,case 2,break,default,break,}答案:B12. 下列哪个是C语言中的逗号运算符?A. &&B. !C. ,D. |答案:C13. 在C语言中,下列哪个是正确的数组声明?A. array[5]B. [5] arrayC. array[] = [5]D. int array[5]答案:D14. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int i;for (i = 0; i <= 5; i++){printf("%d ", i);if (i == 3)continue;}return 0;}```A. 0 1 2 3 4 5B. 0 1 2 3 4C. 0 1 2 3 4 5 6D. 0 1 2 4 5答案:A15. 下列哪个是C语言中的求余运算符?A. /B. +C. %D. *答案:C16. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 4;int y = 5;if (x > 2 || y < 10){printf("True");}else{printf("False");}return 0;}```A. TrueB. FalseC. x > 2 || y < 10D. 4 5答案:A17. 在C语言中,下列哪个是正确的do-while循环格式?A. do (x < 5)B. do {x < 5} whileC. do {x < 5} while (x++)D. do {x < 5;} while (x < 5)答案:D18. 下列哪个是C语言中的逻辑非运算符?A. !B. &&C. <D. =答案:A19. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int i;for (i = 1; i <= 10; i++){if (i % 2 == 0)continue;printf("%d ", i);}return 0;}```A. 1 2 3 4 5 6 7 8 9 10B. 1 3 5 7 9C. 2 4 6 8 10D. 1 2 4 8答案:B20. 下列哪个是C语言中的减法运算符?B. +C. -D. *答案:C21. 在C语言中,下列哪个是正确的数组初始化方式?A. int array[5] = {1, 2, 3}B. array[5] = {1, 2, 3}C. int array[] = {1, 2, 3}D. int array[5] = {1, 2, 3,}答案:C22. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 7;if (x > 2 && y < 10)printf("True");}else{printf("False");}return 0;}```A. TrueB. FalseC. x > 2 & y < 10D. x > 2 || y < 10答案:A23. 下列哪个是C语言中的除法运算符?A. /B. +C. %答案:A24. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 7;int y = (x > 5) ? 10 : 5;printf("%d", y);return 0;}```A. 7B. 5C. 10D. 15答案:C25. 在C语言中,下列哪个是正确的while循环格式?A. while (x < 5;)B. while {x < 5;}C. while (x < 5)D. while {x < 5}答案:C26. 下列哪个是C语言中的位运算符?A. ||B. &&C. !D. &答案:D27. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 2;int y = 3;if (x = y){printf("Equal");}else{printf("Not equal");}return 0;}```A. EqualB. Not equalC. 2D. 3答案:A28. 在C语言中,下列哪个是正确的goto语句格式?A. goto label;B. goto (label);C. gote labelD. go to label答案:A29. 下列哪个是C语言中的加法运算符?A. /B. +C. %D. *答案:B30. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 2;int result = x % y;printf("%d", result);return 0;}A. 2B. 1C. 3D. 0答案:B二、编程题31. 编写一个C语言程序,在屏幕上输出从1到100的所有偶数。

C语言期末考试试卷附参考答案

C语言期末考试试卷附参考答案

一、单项选择题(请将答案填在下面表格中20×1)1. 以下叙述中正确的是()。

A. C语言比其他语言高级B. C语言可以不用编译就能被计算机识别执行C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D. C语言出现的最晚,具有其他语言的一切优点2. 以下叙述中正确的是()。

A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C. main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3. 以下叙述中正确的是()。

A. C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分4. 以下有关for循环的正确描述是()。

A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5. 对下面程序段的描述,正确的是()。

x=-1;do{x=x*x;}while(!x);A.是死循环B. 循环执行一次C. 循环执行两次D. 有语法错误6. 以下有关C语言数组说法正确的是()。

A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。

A. int a(20);B. int a[ ]={1,2,5,7,0};C. int a[n];D. int a[2]={1,2,4,6};8.在定义int b[2][10];之后,对b数组元素引用正确的是( )。

A. b[0][9]B. b[2,3]C. b(1)(5)D. b[10] [0]9. 如有定义语句int c[ ]={1,5,3,4,6,7,0};,则数组c有()个元素。

2024年6月青少年软件编程C语言等级考试试卷二级真题

2024年6月青少年软件编程C语言等级考试试卷二级真题

2024年6月青少年软件编程C语言等级考试试卷二级真题分数:100 题数:51.冠军魔术(20分)。

2018年FISM(世界魔术大会)近景总冠军简纶廷的表演中有一个情节:以桌面上一根带子为界,当他将纸牌从带子的一边推到另一边时,纸牌会变成硬币;把硬币推回另一边会变成纸牌。

这里我们假设纸牌会变成等量的硬币,而硬币变成纸牌时,纸牌的数量会加倍。

那么给定纸牌的初始数量,当他来回推了N次(来/回各算一次)后,手里拿的是纸牌还是硬币?数量是多少?输入:输入在一行里给出两个正整数,分别是纸牌的初始数量和魔术师推送的次数。

这里假设初始状态下魔术师手里全是纸牌。

输出:如果最后魔术师手里是纸牌,输出0和纸牌数量;如果是硬币,则输出1和硬币数量。

数字间须有1个空格。

题目保证结果数值不超出整型范围(即231-1)。

2.找座位(20分)。

组织一场考试时,监考老师手里会有一份签到表,按座位号的顺序列出学生。

但学生要根据这份表找到自己的座位编号就很麻烦了。

本题就要求你编写程序,帮助学生快速找到他们的座位号。

输入:输入第一行给出一个不超过103的正整数N,是参加考试的学生数。

以下N行,第i行给出座位号为i的学生的学号(i=1,……, N)。

学号是一个不超过8位、完全由数字组成的字符串。

输入保证每个学生只分配一个座位。

接下来一行给出一个不超过105的正整数M,是待查询的学生数。

以下M行,每行给出一个待查询的学生的学号。

输出:对每一个待查询的学生,如果他在考场里有座位,则在一行中输出其座位号;否则输出“NA”(Not Available的缩写),表示座位号不存在。

3.英语老师小助手(20分)。

英语老师要求学生按照如下规则写一串字母:规则1,如果写了某个大写字母,下一个就必须写同个字母的小写,或者写字母表中前一个字母的大写。

规则2,如果写了某个小写字母,下一个就必须写同个字母的大写,或者写字母表中下一个字母的小写。

例如“zZzZYXWwxyYX”就是一个合法的字母串;而“wVUuvUTsR”就是非法的。

C语言程序设计试卷含答案

C语言程序设计试卷含答案

C语言程序设计试卷含答案一、选择题(共20题,每题2分,共40分。

下面每题后面用小括号内标注了正确答案)1. 下列关键字中,用于定义变量的是(A)A. intB. ifC. whileD. for2. 变量的作用域是指变量的(C)A. 大小B. 类型C. 可访问范围D. 值3. 下列语句中,用于输出字符的是(B)A. scanfB. printfC. inputD. output4. 已知整型变量a和b,那么a += b; 等价于(D)A. a = a + b;B. a -= b;C. a = a - b;D. a = a + b;5. 在C语言中,用于表示“不等于”的运算符是(C)A. =B. ==C. !=D. >=6. 下面哪个for循环语句是正确的(A)A. for(int i=0; i<10; i++)B. for(int i<10; i++)C. for(int i=0; i<10)D. for(i=0; i<10; i++)7. 下列选项中,表示“或”运算符的是(D)A. &B. &&C. |D. ||8. 在C语言中,用于声明宏定义的关键字是(B)A. defineB. #defineC. constD. int9. 如果要判断一个整数是否为负数,正确的if条件语句是(C)A. if(n > 0)B. if(n => 0)C. if(n < 0)D. if(n <= 0)10. 下列哪个不是C语言的基本数据类型(D)A. intB. floatC. charD. string11. 下列关键字中,用于定义函数的是(C)A. mainB. includeC. voidD. for12. 在C语言中,表示“或者”的条件语句是(B)A. ifB. else ifC. switchD. while13. C语言中的“++”运算符表示(A)A. 自增B. 自减C. 相加D. 相减14. 下列哪个语句用于在C语言中声明字符类型的变量(C)A. String name;B. var name;C. char name;D. character name;15. 下列哪个不是C语言的关键字(D)A. enumB. longC. doubleD. true16. 在C语言中,用于跳出当前循环并继续执行下一次循环的关键字是(D)A. exitB. breakC. endD. continue17. 下列哪个函数用于从标准输入读取一个整数(A)A. scanfB. printfC. getsD. puts18. 在C语言中,用于声明一个指针变量的关键字是(A)A. int*B. pointC. newD. pointer19. 下列哪个运算符用于获取变量在内存中的地址(B)A. &B. *C. #D. %20. 下列哪个函数调用可以输出字符串(A)A. printf("Hello World!");B. scanf("Hello World!");C. gets("Hello World!");D. puts("Hello World!");二、填空题(共5题,每题4分,共20分。

C语言程序设计考试试卷附答案

C语言程序设计考试试卷附答案

C语言程序设计考试试卷附答案一、选择题1. 下列哪个不是 C 语言的数据类型?A. intB. charC. stringD. float答案:C2. 以下哪个关键字用于定义常量?A. constantB. varC. constD. define答案:C3. 在 C 语言的数组中,下标是从几开始的?A. 0B. 1C. -1D. 从任意整数开始答案:A4. 下面哪个运算符用于获取变量的地址?A. &B. *C. %D. #答案:A5. 下面的代码中,输出的结果是什么?```int i = 0;for (i = 0; i < 5; i++) {if (i == 3) {break;}printf("%d ", i);}```A. 0 1 2C. 0 1 2 3 4D. 0 1 2 4答案:A二、填空题1. 填写下面代码的输出结果:```char str[20] = "Hello";printf("%s", ___________);```答案:Hello2. 填写下面代码的输出结果:```int a = 10;int b = 20;int c = ___________;printf("%d", c);```三、编程题1. 编写一个程序,在屏幕上输出从 1 到 10 的所有数字。

答案:```c#include <stdio.h>int main() {int i;for (i = 1; i <= 10; i++) {printf("%d ", i);}return 0;}```2. 编写一个程序,计算从 1 到 100 所有偶数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;int i;for (i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("1 到 100 所有偶数的和为:%d", sum);return 0;}```3. 编写一个程序,实现冒泡排序算法对数组进行升序排序。

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

二级 C语言考试试卷(考试说明及第一部分计算机基础知识略)第二部分 C语言程序设计一、选择题(用答题卡答题,答案依次填在21~30答题号内)21. 若有声明语句char s1[10]={0},s2[10]= "books";则能将字符串"books"赋给数组s1保存的表达式是 21 。

A. s1=”books”;B. strcpy(s2,s1);C. s1=s2;D. strcat(s1,s2);22. 表达式(a=4*5,b=a*2),b-a,a+=2的值是 22 。

A.2 B. 20 C. 22 D. 4223. 以下是一个自定义函数的头部,其中正确的是 23 。

A. int fun(int a[ ],b)B. int fun(int a[ ],int a)C. int fun(int * a,int b)D. int fun(char a[ ][ ],int b)24. 以下数组声明语句中正确的是 24 。

A.int n,a[n]; B. int a[ ];C. int a[2][3]={{1},{2},{3}};D. int a[ ][3]={{1},{2},{3}};25.已知在某C语言编译系统中表达式sizeof(int)的值是2,如果希望将常量-70000正确地保存在一个变量a中,该变量声明语句应当是 25 。

A.int a; B. long int a;C. unsigned int a;D. unsigned long int a;26. 以下声明语句中,用于声明一个行指针变量的是 26 。

A. int *p(int);B. int *p;C.int (*p)[3]; D. int (*p)(int);27. 已知A盘根目录下的一个文本数据文件data.dat中存储了100个int型数据,若需要修改该文件中已经存在的若干个数据的值,只能调用依次fopen函数,已有声明语句FILE*fp;则fopen 函数的正确调用形式是 27 。

A. fp=fopen(”a:\\data.dat”,”r+”);B. fp=fopen(”a:\\data.dat”,”w+”);C. fp=fopen(”a:\\data.dat”,”a+”);D. fp=fopen(”a:\\data.dat”,”w”);28. 在以下程序中,需要在fun函数中声明一个int型的变量,以下选项中 28 不能用作该变量的名字。

A.x B. y C. fabs D. fun#include<math.h>int y;main( ){int a=1;fun(a);}int fun(int x){ ; /* int型变量声明语句位置*/… /*若干执行语句*/}29.如有语句:int x,y=0,z,* p[3];p[0]=&x;p[1]=&y;p[2]=&z;以下表达式中有语法错误的是 29 。

A.y++ B. p++ C. *++p[0] D. (*p[0])++30. 设有声明语句:int a[3][3]={1,2,3,4,5,6,7,8,9};以下语句中除 30 外均能输出a[1][2]的值。

A.printf(“%d”,*(*(a+1)+2)); B. printf(“%d”,*(&a[2][0]-1));C. printf(“%d”,*(a[1]+2));D. printf(“%d”,*(a+1)[2]);二、填空题(将答案填写在答题纸的响应答题号内,每个答案只占一行)●基本概念题(共5分)1.只能在循环体中出现的语句是(1)语句。

2.& 既可以用作单目运算符也可以用作双目运算符,其中用作单目运算符时表示的功能是(2)。

3.包含二目运算符的表达式可一般的表示为(x)op(y),其中op代表运算符x、y代表操作数。

若op 是“+”运算符,且x和y均为常量时,不能同时为(3)常量。

4.当(4)语句被执行时,程序的执行流程无条件地从一个函数跳转到另一个函数。

5.在函数内部声明局部变量时缺省了存储类型,该变量存储类型为(5)。

●阅读程序写出运行结果题(共10分)6.以下程序段运行后,x、y、z的值分别是(6)。

int x=0,y=3,z=2;if(x++&&y++)z--;else if(x+1==6||y--)z++;7. 设有以下宏定义:#define N3#define Y(n) ((N+1)* n)则执行语句z=2 * (N+Y(5+1));后,z的值为(7)。

8.[程序]int x=1;main( ){ int y,k;y=f(3);printf(“%d\n%d”,x,y);}int f(int x){ if(x==3){ int x=2;return x;}else return x;}该程序运行后,输出x 的值是(8),y的值是(9)。

9.[程序]main(){int a[3][3]={1,2,3,4,5,6,7,8,9},m,k,t;for(m=0;m<3;m++)for(k=0;k<=m;k++)if((m+k)%2) t=a[m][k],a[m][k]=a[k][m],a[k][m]=t;for(m=0;m<3;m++){ for(k=0;k<3;k++)printf(“%d”,a[m][k]);printf(“\n”);}}该程序执行时输出第一行是(10),第二行是(11)。

10.[程序]#include<string,h>int convert(char s1[ ],char s2[ ],int *n1){ int i=0,j=0,k,s=0,len;int value=0;char tab[16]=”0123456789ABCDEF”;len = strlen(s1);if(len%4){ for(i=0;i<len%4;i++)s=s*2+s1[i]-‘0’;s2[j++]=tab[s];value=value*16+s;}while(i<len){ s=0;for=(k=0;k<4;k++) s=s*2+s1[i+k]-‘0’;s2[j++]=tab[s];value=value*16+s;i=r+4;s2[j]=’\0’;* n1=strlen(s2);return value;}main( ){ char ss1[ ]=”1001010”,ss2[10];int x,y;y=convert(ss1,ss2,&x);printf(“%d\n%d\n%s”,x,y,ss2);}该程序执行时输出第一行是(12),第二行是(13),第三行是(14)。

11.[程序]main( ){ int a[3][3],i,j;numlist(&a[0][0],9);for(I=0;I<3;I++){ for(j=0;j<3;j++)printf(“%d”,a[i][j]);printf(“\n”);}}numlist(int *p,int n){ int i;for(i=0;i<n;i++) p[i]=num(i);}num(int n){ if(n==0)return 1;return num(n-1)*2+1;}程序执行时输出的第一行是(15)。

完善程序题(共15分)12.程序功能:合并两个已经按照升序排列的一维数组。

Insert函数功能:将m插入x指向的含有n个元素的数组中,数组中n个元素已按升序排列,插入m后的n+1个元素仍保持有序。

void insert(int x[ ],int n,int m);main( ){ int a[10]={1,3,5,7,9},b[5]={2,4,8,16,32},k;for(k=0;k<5;k++){ insert(a, (16) ,b[k]);}for(k=0;k<10;k++)printf("%d",a[k]);}void insert(int x[],int n,int m){int i,j;if(m>x[n-1])(17) =m;else{for (i=; (18) ;i++);for(j=n;j>=i;j--)x[j]= (19) ;x[i]=m;}}13 程序功能:查找满足下列条件的m,n值。

给定正整数k,0<m<=k,0<n<=k,求使(n^2-mn-m^2)^2=1 且使n^2+m^2的值达到最大的值。

# include<stdio.h>main( ){ long m,n,k,s,flag=0;printf("input k:");scanf("%ld",&k);n=k;do{ m=_(20)_;do{ s=n*(n-m)-m*m;if(s*s==1) (21) ;else m--;} while(m>0&&! flag);if(m==0) (22) ;}while(n>0&&! flag);printf("m=%ld,n=%ld",m,n);}14 已知链表中结点的数据结构定义如下:# include<stdio.h>struct node{ int x;struce node *next;};函数loop功能:根据dir的值循环移位head指向的链表中的所有结点,当dir为正整数时实现循环右移一次,否则循环左移一次。

函数返回链表首结点的指针。

例如,移位前的链表数据:head->1->3->5->4。

右移一次后的链表数据:head->4->1->3->5。

算法提示:循环右移时,将链表最后一个结点删除,再将其插入到链表首部;循环左移时,将链表的第一个结点删除,再将其连接到链表尾部。

struct node *loop(struce node *head,int dir){ struct *p1,*p2;p1=head;if(p1==null||p1->next==null) return head;if(dir>=0){while(p1->next){ p2=p1;p1=p1->next;}(23) = null;p1->next= (24) ;head=p1;}else{ head= (25) ;p2=head;while(p2->next)p2=p2->next;(26) ;p1->next=null;}return head;}15 程序功能:在一行文本中查找给定的单词。

相关文档
最新文档