《C语言习题及解答(共8页).doc》由会员分享,可在线阅读,更多相关《C语言习题及解答(共8页).doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 C语言概述一.选择题1.下列选项中,合法的C语言关键字是 A) VAR B) cher C) integer D) default2.请选出可用作C语言用户标识符的一组标识符_A) Void define WORD B) a3_b3 _123 IFC) For -abc Case D) 2a Do sizeof3.C语言提供的合法的数据类型关键字是_A) Double B) shortC) integer D) Char4在下列字符中,不可用作C语言标识符的是 A) water B) priceC) ab D) a125一下叙述正确的是 A) C语言比其他高级高级B
2、) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚、具有其他语言的一切优点6在一个C语言程序中A) main函数必须出现在所有函数之前B) main函数可以在任何地方出现C) main函数必须出现在所有函数之后D) main函数必须出现在固定位置7下列符号不属于C语言保留字的是 A) ifB) thenC) staticD) for8.下列说法正确的是 A) 主函数名main是由程序设计人员按照“标识符”的命名规则来选取的B) 分号和回车符都可以作为语句的结束符号C) 在程序清单的任何地方都可以插入一个或多个空格符号
3、D) 程序的执行总是从主函数main()开始的参考答案1.D 2.B 3.B 4.C 5.C 6.B 7.B 8.D 数据类型与表达式一.选择题1. 下列字符序列中,不可用作C语言标识符的是( )。A)abc123 B)no.1 C)_123_ D)_ok 2. 正确的C语言标识符是 ( )。A)_buy_2 B)2_buy C)?_buy D)buy?3. 请选出可用作C语言用户标识符的一组标识符( )。 A)void B)a3_b3 C)for D)2adefine _123 -abc DOWORD IF case sizeof4. 下列符号中,不属于转义字符的是( )。 A) B)0xA
4、A C)t D)05. 不属于C语言关键字的是( )。 A)int B)break C)while D)character 8以下选项中,合法的用户标识符是( )。 A)long B)_2abc C)3dmax D)A)dat10已知大写字母A的ASCII码值是65, 小写字母a的ASCII码是97,则用八进制表示的字符常量101是( )。 A)字符A B)字符a C)字符c D)非法的常量12以下选项中,正确的字符常量是( )。 A)F B) C)W D)13以下选项中可作为C语言合法整数的是A)10110B B)0386 C)0Xffa D)x2a214下列变量定义中合法的是 A)shor
5、t _a=1-.le-1; B)double b=1+5e2.5; C)long do=0xfdaL; D)float 2_and=1-e-3;16若有代数式,则不正确的C语言表达式是( )。 A)a/c/d*b*3 B)3*a*b/c/d C)3*a*b/c*d D)a*b/d/c*320在C语言中,要求运算数必须是整型的运算符是( )。 A)/ B)+ C)*= D)%21若有说明语句:char s=72;则变量s( )。A)包含一个字符 B)包含两个字符C)包含三个字符 D)说明不合法,s的值不确定23在C语言中,char型数据在内存中的存储形式是( )。 A)补码 B)反码 C)原码
6、D)ASCII码26设以下变量均为int类型,则值不等于7的表达式是( )。A)(m=n=6, m+n, m+1) B)(m=n=6, m+n, n+1)C)(m=6, m+1, n=6, m+n) D)(m=6, m+1, n=m, n+1)27假设所有变量均为整型,则表达式(x=2, y=5, y+, x+y)的值是( )。A)7 B)8 C)6 D)229已知s是字符型变量,下面正确的赋值语句是( )。A)s=abc; B)s=08;C)s=xde; D)s=;30若有以下定义,则正确的赋值语句是( )。int x,y; float z;A)x=1,y=2, B)x=y=100 C)x+
7、; D)x=int (z);31设x、y均为float型变量,则不正确的赋值语句是( )。A)+x ; B)x*=y-2; C)y=(x%3)/10; D)x=y=0;33putchar函数可以向终端输出一个( )。A)整型变量表达式值。 B)字符串C)实型变量值。 D)字符或字符型变量值。34以下程序段的输出结果是( )。int a=12345; printf(%2dn, a); A)12 B)34 C)12345 D)提示出错、无结果36以下说法正确的是( )。A)输入项可以为一个实型常量,如scanf(%f,3.5);B)只有格式控制,没有输入项,也能进行正确输入,如scanf(a=%d
8、,b=5d);C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%4.2f,&f);D)当输入数据时,必须指明变量的地址,如scanf(%f,&f);37以下程序的执行结果是:( )。#include main() int x=2,y=3; printf(x=%d,y=%dn,x,y);A) x=%2,y=%3 B) x=%d,y=%dC) x=2,y=3 D) x=%d,y=%d38以下程序的输出结果是( )。(注:代表空格)#include main() printf(nstring1=%15s*, programming); printf(nstring2=%-5
9、s*, boy); printf(string3=%2s*, girl);A)string1=programming* B)string1=programming* string2=boy* string2=boy*string3=gi* string3=gi* C)string1=programming* D)string1=programming* string2=boy*string3=girl* string2=boy*string3=girl*39阅读以下程序,当输入数据的形式为:12,34,正确的输出结果为( )。#include main() int a,b; scanf(%d%
10、d, &a,&b); printf(a+b=%dn,a+b);A)a+b=46 B)有语法错误C)a+b=12 D)不确定值40.以下语句:temp=x;x=y;y=temp;的功能是()。A)把x,y,temp从小到大排列)把x,y,temp从大到小排列C)交换x和y D)无确定的结果二.填空题1在内存中要用_7_个字节来存储字符串Double。2字符0的十进制ASCII码值是48,则字符9的十进制ASCII码值是_57_。3字符型(char)数据在内存中是以其_的形式存储的。48位无符号二进制数能够表示的最大十进制数是_。5语句printf(abReCHyboun);的输出结果是_。6若有
11、说明char s1=5;那么s1里包含_1_个字符。7十进制数125在一个字节的二进制表示是_。8C语言的关键字都用_大写或小写。9C语言是通过_来进行输入和输出的。11以下程序的执行结果是_。#include main() char s=b; printf(dec:%d,oct:%o,hex:%x,ASCII:%cn, s,s,s,s);13以下程序的执行结果是:_。#include main() char c=c+5;printf(c=%cn,c);14以下程序输入123后的执行结果是_。(注:代表空格)#include main() int i,j; char k; scanf(%d%c
12、%d,&i,&k,&j); printf(i=%d,k=%c,j=%dn,i,k,j);15有以下程序,若输入后的执行结果是_;若输入为:9876后的执行结果是_;若输入为:3210后的执行结果为:_。(注:代表空格)#include main() int x1,x2; char y1,y2; scanf(%2d%3d%3c%c,&x1,&x2,&y1,&y2); printf(x1=%d,x2=%d,y1=%c,y2=%cn,x,y);16若x和y均为int型变量,则以下语句的功能是_。x+=y; y=x-y; x-=y;17有一输入函数scanf(%d,k);则不能使float类型变量k得
13、到正确数值的原因是:_。18有如下程序段,输入数据:12345ffl678后,u的值是 【1】 ,v的值是 【2】 。int u;float v;scanf(%3d%f,&u,&v);19.下面程序的运行结果是_。#includevoid main() char=a;int k=-1;printf(%o%x%dn,ch,ch,ch);printf(%d%un,k,k);20.指出程序在执行过程中各个变量的变化情况#include void main() int x=35;char ch=b,c;float f=3.5;c=x; /*_ 【1】_*/x=f; /*_ 【2】_*/f=c; /*_
14、 【3】_*/f=x; /*_ 【4】_*/三.程序题1阅读如下程序,给出输出结果。#include main() char c1,c2;c1=97;c2=99;printf(%ct%cn,c1,c2);printf(%dt&dn,c1,c2);2. 阅读如下程序,给出输出结果。#include main() int x;x=-8+5*3/6+9;printf(x=%dt,x);x=15%7+3%5-8;printf(x=%dt,x);x=-3*6/(4%6);printf(x=%dn,x);3.已知圆的周长为L,编写 C程序,计算出它的面积。要求从键盘输入周长值,在屏幕上显示出相应的面积值。
15、4.编写C程序,从键盘输入一个字符,在屏幕上显示出其前后相连的三个字符。5.编写程序,从键盘输入一个三角形的三条边长,在屏幕上显示出其面积值。6.编写一个C程序,统计出一个文本文件中逗号的个数。8.从键盘中输入3个正整数,输出它们的积。参考答案一.选择题1B2A3B4B5D 8B10A12C13C14A16C18B20D21A23D26C27B28B29C30C 31C33D34C36D 37D38D39D 40C二.填空题17 257 3ASCII码值 4255 5ReCHyou 61 78小写 9输入和输出函数 11dec:98,oct:142,hex:62,ASCII:b13c=h 14
16、i=1,k=,j=215第一种情况的执行结果:x1=98,x2=765,y1=4,y2=1 第二种情况的执行结果:x1=98,x2=76,y1=,y2=3第三种情况的执行结果:x1=98,x2=765,y1=4,y2=216交换x和y的值17(1)格式符应为:%f;(2)变量前边未加取地址符&, 即应为scanf(%f,&k);18.【1】123 【2】45.191416197-16553520【1】#,【2】3,【3】35.0,【4】3.0。三.程序题1ac97992x=2x=4x=-43#include main()float l, area;printf(l=);scanf(%f,&l)
17、;aera=l*l/(4*3.14);printf(aera=%f,aera);4#includemain()char c;c=getchar();if(ca&cA&cZ)printf(%c%cn,c-1,c,c+1);5#include#includemain()float a,b,c,s,area;printf(input a,b,cn);scanf(%f,%f,%f,&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(area=%fn,area);6#includemain()int n;char c;while(c=getchar()!=EOF)if (c=,)n+;printf(%dn,n);8#includemain()unsigned int a,b,c;scanf(%d,%d,%d,&a,&b,&c);printf(v=%dn,a*b*c);int i=0,j=9,k=3,s=0;专心-专注-专业
限制150内