1、试题库选择题1. 关于C语言,下面的说法正确的是:CA. 每行语句最后都以分号结束 B. 大括号、圆括号有时候可以不成对出现C. main函数不是必须的 D. 代码必须要缩进,否则影响执行2. 关于变量,下面的说法错误的是:CA. 变量是有类型的 B. 变量必须定义之后才能使用 C. 变量的初始化就是变量的定义 D. 变量的初始化,其实就是第一次给变量赋值3. 有下列变量名:A(1)!abc (2)a23456 (3)_abc (4)a#34b (5)fdafDaljflsa (6)bool (7)a_2c3(8)2a1b3c (9)ABC(10)a1b2c3 下面说法正确的是:A. 只有(1
2、)(4)(6)(8)是非法变量名 B. 只有(1)(4)(8)是非法变量名C. 只有(2)(7)(10)是合法变量名 D. 只有(2)(5)(7)(10)是合法变量名4. 关于求余%和除法/运算,正确的是:BA. 求余(%)是左边数字除以右边数字,得到的商 B. a%b的结果,一定小于bC. %和/都是整除 D. 如果两个变量都是整数,除法得出的值将四舍五入5. 关于字符变量char的说法正确的是:BA. 字符变量可以保存1或n个字符 B. 每个字符变量都对应着一个正整数C. 字符变量可以用单引号也可以用双引号D. 根据ascii码,大写字母必定比小写字母大326. 关于赋值运算符=,下列说法
3、错误的是:DA. 赋值运算符左边必须是变量B. 赋值运算符右边必须可以计算出一个值C. 赋值运算符的左边和右边可以不相等D. 在逻辑运算里,“=”是比较两边是否相等。7. 变量a和b的值互换,下面的写法错误的是:CA. t=a; a=b; b=t; B. t=b; b=a; a=t;C. a=ab;b=b-a;a=b+a;D. b=a+b; a=b-a; b=b-a;8. 下列的输出函数正确的是,i是一个整数:AA. printf(“%d”,i);B. printf(“%d,i”);C. printf(%d,i);D. printf(%d, “i”);9. 下列的输入函数正确的是,a、b都是整
4、数:BA. scanf(%d%d,&a,&b);B. scanf(%d%d,&a,&b);C. scanf(请输入两个整数%d%d,&a,&b);D. scanf(%d%d,&a,&b);10. 关于C+风格的输入输出,下面的说法错误的是:DA. 需要包含头文件iostream.hB. coutaabendl;可以输入a和b的值D. couta;和cout”a”;是一样的11. 关系运算和逻辑运算运用正确的是:BA. 在数学里,-5x5用C语言来表达也是-5xb,a=7 & 10=aD. a不能被7整除:a%7= =113. 已知a的值是20,b的值是10。 c= a b ? a b : b
5、a,C的值是:CA. 1B. 20C. 10D. -1014. 变量a的值是整数6,下面的if语句没有语法错误的是:DA. if (a 1) else cout456 1) cout123endl; cout456endl; else cout789 5); coutaendl; else couta-1 5) coutaendl; else couta-1endl; cout123endl;15. 关于if语句的说法,正确的是:CA. if和else本身不是语句,不需要在末尾加分号,但是加了也没什么影响B. if可以控制多条语句C. 可以没有else语句,但不能只有elseD. else后可
6、以没有语句16. 有下列代码12345678910if(a25) cout”aaa”endl; else if(a50) cout”bbb”endl;else if(a100) cout”ccc”endl; else cout”ddd”endl;下面的说法正确的是:CA. 只要aa1;这样的输入是错误的B. a8访问的是数组的第9个元素C. a11越界了,但a10还没有越界D. 可以这样定义数组:int ai;,数组长度决定于i的值。23. int a34= 1,2,3,4,5,6,7,8,9,10,11,12,那么哪个值等于7:AA. a12B. a23C. a32D. a2124. 关于字
7、符和字符串的说法正确的是:CA. 字符需使用双引号或单引号,如果没有引号,该字符将视为一个变量B. 字符串代表一串的字符,一个字符串至少有一个字符C. 字符变量保存一个字符,字符数组保存一个字符串D. 以上说法都是错误的。25. 关于字符数组的初始化,错误的是:AA. char c5=“I am happy”;B. char c=“I am happy”;C. char c=“I am happy”;D. char *c=“I am happy”;26. 字符函数int tolower(char ch),如果ch是大写字母,则返回对应小写字母所代表的ascii码,下面的代码执行完后:Dchar
8、 c=A; char b=tolower(c);A. c的值是aB. c的值是cC. c和b的值都是aD. b的值是a27. 有一个函数int max(int x,int y),它的功能是返回x和y中较大的那个数字,下面的说法正确的是:BA. max(max(x , y) , z);这样的调用将导致语法错误B. max(max(x , y) , z);没有语法错误,返回x、y、z三者中的最大值C. max(max(x , y) , z)和max(z , max(x,y)结果是不一样的D. 以上的调用方法都有语法错误28. 关于return语句,下面的说法错误的是:A. return后面的表达式
9、的类型必须和函数的类型一致B. void类型的函数不可以有return语句C. 执行到return语句会结束函数调用D. 有返回值的函数要确保在任何情况下,都能执行到某一条return语句29. 已知函数:void exchange(int x, int y) int t = x; x = y; y = t; 下面的说法正确的是:CA. 调用函数exchange(a,b)可以互换a和b的值B. exchange没有任何效果,因为没有返回值C. exchange执行完后,就再也不能取得变量t了D. exchange无法执行,有语法错误编程题1. (*)请编程序将China译成密码,密码规律是用原
10、来的字母后面第4个字母代替原来的字母。例如,字母A后面第4个字母是E,用E代替A。因此China应译为Glmre。请编写一个程序,用赋值的方法使得c1,c2,c3,c4,c5这5个变量的值分别为C,h,i,n,a,经过运算后,使得c1,c2,c3,c4,c5分别变成G,l,m,r,e并顺序输出c1,c2,c3,c4,c5的值(也就是屏幕上将出现”Glmre”)。#includevoid main() char c1=C,c2=h,c3=i,c4=n,c5=a; c1+=4,c2+=4,c3+=4,c4+=4,c5+=4; coutc1c2c3c4c5endl;2. (*)输入一个华氏温度,要求
11、输出摄氏温度,公式为:c=(5/9)*(F-32)。输入要求有文字提示。#includevoid main() float F,c; coutF; c=(5.0/9)*(F-32); cout摄氏温度:cendl;3. (*)使用键盘输入语文、数学、英语的成绩,最后输出平均分,可适当组织下语言。#includevoid main() float a,b,c,average; coutabc; average=(a+b+c)/3; cout平均分:averageendl;4. 输入一个整数,判断是不是能被3整除的偶数。#includevoid main() int a; cina; if(a%3
12、=0 & a%2=0)couta是能被3整除的偶数endl; else couta不是能被3整除的偶数endl;5. 输入一个数字,判断是不是不能被5整除的偶数。#includevoid main() int a; cina; if(a%5!=0 & a%2=0)couta是不能被5整除的偶数endl; else if(a%5=0 & a%2=0)couta是能被5整除的偶数endl; else if(a%2!=0)cout不是偶数endl;6. 输入一个字符,判断是不是数字或者字母,并打印出结果。#includevoid main() char b; cinb; if (b=A&b=a&b=
13、0&b=9) cout是数字或者字母n; else cout不是数字或者字母n;7. 输入一个年份,判断是否是闰年。闰年的条件是能被4整除但不能被100整除,或者能被400整除。#includevoid main() int a; cina; if(a%4=0 & a%100!=0 | a%400=0)couta是闰年endl; else cout不是闰年endl;8. 输入两个数字,打印两个数字的差的绝对值。#includevoid main() int a,b,c; cinab; c=a-b; if(c=0)coutcendl; else cout-cendl; 9. (*)(GJ)输入三
14、个数字,按照从小到大顺序输出。#includevoid main() int a,b,c,d; coutabc; if(ab)d=a;a=b;b=d; if(bc)d=b;b=c;c=d; if(ac)d=a;a=c;c=d; cout从小到大输出:; coutabcendl;10. 输入成绩,按照“优”(大于等于90分),“良”(大于等于80分),“中”(大于等于60分),“不及格”(60分以下),“差”(小于30分)输出等级。#includevoid main() int k; cink; if (k30) cout差endl; else if (k60) cout不及格=90) cout
15、优=80) cout良=60) cout中endl;11. 从键盘输入一个字符,如果是A,那么输出“85-100”;如果是B, 那么输出“70-84”;如果是C, 那么输出“60-69”; 如果是D, 那么输出“60”;如果是其他,输出“错误”。#includevoid main() char k; cink; if (k=A) cout85-100endl; else if (k=B) cout70-84endl; else if (k=C) cout60-69endl; else if(k=D) cout60endl; else cout出错endl;12. 从键盘输入一个字符,如果是f,
16、那么打印“女性”;如果是m打印“男性”;如果是u打印“未确定”;如果是别的字符,打印“非法字符”。#includevoid main() char k; cink; if (k=f) cout女性endl; else if (k=m) cout男性endl; else if (k=u) cout未确定endl; else cout非法字符endl;13. 乘坐飞机时,每位乘客可以免费托运50kg(包含50KG)以内的行李,如果超过50kg,那么超出部分要按照每公斤1元收取费用;如果超过100KG,超出部分要按照每公斤2元收取费用,如果超过或者等于200KG,则不予托运。(例如60公斤,超出的1
17、0公斤就要付出10元;如果120KG,那么50KG部分免费,50到100KG部分按照每公斤1元收取费用,即50元,100到120KG部分按照每公斤2元收取费用,即40元,一共需要90元费用)。编写一个程序,输入行李的重量,得出要求交纳的行李托运费,或者提示超重无法托运。#includevoid main() int a,b,k; cink; if (k=50) cout免费托运200) cout不予托运=100) a=(k-100)*2+50; cout行李托运费:aendl; else b=(k-50)*1; cout行李托运费:bendl; 14. 输入0到6几个数字的时候,就打印星期几,
18、1对应星期一,2对应星期二,以此类推。如果超出这个范围,打印非法数字。#includevoid main() int a; cina; switch(a) case 0:cout星期一endl;break; case 1:cout星期二endl;break; case 2:cout星期三endl;break; case 3:cout星期四endl;break; case 4:cout星期五endl;break; case 5:cout星期六endl;break; case 6:cout星期天endl;break; default:cout非法数字endl;break; 15. (*)求1+2+
19、3+100的值。#include void main() int i=1; int k=0; while (i=100) k=k+i; i+; coutkendl;16. (*)输入一个整数,然后打印“ok”,打印的次数就是整数的大小。#include void main() int i=0; int j; cinj; while (ij) coutokendl; i+; 17. (*)输入一个整数,然后打印出它所有的因子。(例如输入16则打印出2、4、8)。提示:在循环内部使用一个if语句,用求余作为条件。#include void main() int i=0,j; cinj; while
20、 (ij) i+; if (j%i=0&j!=i&i!=1) coutiendl; 18. (*)循环5次,每次循环输入一个数字,最后打印总和和平均值。提示:把输入语句放到循环内部。#include void main() int i=1,k=0,j,h; cout请输入五个数:; while (ij; k=k+j; i+; cout总和:kendl; h=k/5; cout平均数:hendl;19. (*)重复以下行为:输入一个字符,并打印出“你输入的是X”;直到输入才结束。#include void main() char j; for(;) cinj; if(j=)break; cout
21、你输入的是jendl; 20. (*)输出所有“水仙花数”。所谓“水仙花数”是指一个3位数,其个位数字立方和等于该数字本身。例如153是一个水仙花数,因为153=1*1*1+3*3*3+5*5*5。提示:求个位用对10求余,求百位直接除以100,求十位自行考虑。#include void main() int d,e; cout1000以内的水仙花数:; for(int a=1;a10;a+) for(int b=0;b10;b+) for(int c=0;c10;c+) d=a*100+b*10+c; e=a*a*a+b*b*b+c*c*c; if(d=e)coutd ; coutendl;
22、21. (*)输入两个数字,求它们的最大公约数。#include void main() int a,b,z,d; coutab; d=ab?a:b; for(int c=2;c=d;c+) if(a%c=0 & b%c=0)z=c; cout最大公约数:zendl;22. (*)输入两个数字,求它们的最小公倍数.#include void main() int m,t,c; coutmt; for(c=1;c+) if(c%m=0 & c%t=0)break; cout最小公倍数:cendl;23. (*)输入一个数字,判断是否是素数。#include void main() int m; cin
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1