1、DC语言程序中的main( )函数必须放在程序的开始部分13. C编译程序是( )。AC程序的机器语言版本 B一组机器语言指令 C将C源程序编译成目标程序 D由制造厂家提供的一套应用软件14以下选项中,合法的用户标识符是( )。 Along B_2abc C3dmax DA.dat15以下选项中,合法的实型常数是( )。 A5E2.0 BE-3 C2E0 D1.3E16已知大写字母A的ASCII码值是65, 小写字母a的ASCII码是97,则用八进制表示的字符常量101是( )。 A字符A B字符a C字符c D非法的常量17以下选项中, 合法转义字符的选项是( )。 A B018 Cxab
2、Dabc18以下选项中,正确的字符常量是( )。 A”F” B CW D19以下选项中可作为C语言合法整数的是 A10110B B0386 C0Xffa Dx2a220下列变量定义中合法的是 Ashort _a=1-.le-1; Bdouble b=1+5e2.5;Clong do=0xfdaL; Dfloat 2_and=1-e-3;21与数学式子对应的C语言表达式是( )。 A9*xn/(2*x-1) B9*x*n/(2*x-1) C9*pow(x,n)*(1/(2*x-1) D9*pow(n,x)/(2*x-1)22若有代数式,则不正确的C语言表达式是( )。 Aa/c/d*b*3 B3
3、*a*b/c/d C3*a*b/c*d Da*b/d/c*323已知各变量的类型说明如下: int m=8,n, a, b; unsigned long w=10; double x=3.14, y=0.12; 则以下符合C语言语法的表达式是( )。 Aa+=a-=(b=2)*(a=8) B n=n*3=18 Cx%3 Dy=float (m)24以下符合C语言语法的赋值表达式是( )。 Aa=9+b+c=d+9 Ba=(9+b, c=d+9) Ca=9+b, b+, c+9 Da=9+b+=c+925 已知字母A的ASCII码为十进制数65,且S为字符型,则执行语句S=A+6-3;后,S中的
4、值为( )。 AD B68 C不确定的值 DC26在C语言中,要求运算数必须是整型的运算符是( )。 A/ B+ C*= D%27若有说明语句:char s=72;则变量s( )。A包含一个字符 B包含两个字符C包含三个字符 D说明不合法,s的值不确定28若有定义:int m=7; float x=2.5, y=4.7; 则表达式x+m%3*(int)(x+y)%2/4的值是( )。 A2.500000 B2.750000 C3.500000 D0.00000029在C语言中,char型数据在内存中的存储形式是( )。 A补码 B反码 C原码 DASCII码30设变量x为float类型,m为i
5、nt类型,则以下能实现将x中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是( )。Ax=(x*100+0.5)/100.0 Bm=x*100+0.5, x=m/100.0Cx=x*100+0.5/100.0 Dx=(x/100+0.5)*100.031表达式13/3*sqrt(16.0)/8的数据类型是( )。 Aint Bfloat Cdouble D不确定32设以下变量均为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)33假设
6、所有变量均为整型,则表达式(x=2, y=5, y+, x+y)的值是( )。A7 B8 C6 D234已知s是字符型变量,下面不正确的赋值语句是( )。As=012; Bs= u+v;Cs=1+2; Ds=1+2;35已知s是字符型变量,下面正确的赋值语句是( )。As=abc; Bs=08;Cs=xde; Ds=”;36若有以下定义,则正确的赋值语句是( )。int x,y;float z;Ax=1,y=2, Bx=y=100 Cx+; Dx=int (z);37设x、y均为float型变量,则不正确的赋值语句是( )。A+x ; Bx*=y-2;Cy=(x%3)/10; Dx=y=0;3
7、8下列语句中符合C语言的赋值语句是( )。Aa=7+b+c=a+7; Ba=7+b+=a+7;Ca=7+b,b+,a+7 Da=7+b,c=a+7;39putchar函数可以向终端输出一个( )。A整型变量表达式值。 B字符串C实型变量值。 D字符或字符型变量值。40以下程序段的输出结果是( )。int a=12345; printf(”%2dn”, a); A12 B34 C12345 D提示出错、无结果41若x和y均定义为int 型,z定义为double型,以下不合法的scanf()函数调用语句为( )。Ascanf(”%d%lx,%le”,&x,&y,&z);Bscanf (”%2d*%
8、d%lf ”, &x, &y, &Cscanf(”%x%*d%o”, &y);D。scanf(”%x%o%6.2f”, &42有如下程序段: int x1,x2;char y1,y2;scanf(”%d%c%d%c”,&x1,&y1,&x2,&y2);若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是( )。(注:代表空格)A10A20B B10A20BC10 A20 B D10A20B43若变量已正确说明为float类型, 要通过语句scanf(”%f %f%f”, &a, &b, &c);给a赋予10.0, b赋予22.0, c赋予33.0, 不正确的输入形式为(
9、)。A10 B10.0,22.0,33.0 22 33C10.0 D10 2222.0 33.0 3344有如下程序,若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是( )。int x1,x2;scanf(”%d%d”,&x2);scanf(”%c%c”, &A1020AB B1020ABCC1020 D1020ABAB45已有定义int a=-2;和输出语句:printf(”%8lx”,a);以下正确的叙述是( )。A整型变量的输出格式符只有%d一种B%x是格式符的一种,它可以适用于任何一种类型的数据C%x是格式符D%8lx不是错误的格式符,其中数字8规定了输出字段
10、的宽度46有如下程序段,对应正确的数据输入是( )。float x,y;scanf(”%f%f”, &printf(”a=%f,b=%f”, x,y);A2.04 B2.04,5.67 5.67CA=2.04,B=5.67 D2.055.6747有如下程序段,从键盘输入数据的正确形式应是( )。float x,y,z;scanf(“x=%d,y=%d,z=%d”,&a,&A123 Bx=1,y=2,z=3C1,2,3 Dx=1 y=2 z=348以下说法正确的是( )。A输入项可以为一个实型常量,如scanf(”%f”,3.5);B只有格式控制,没有输入项,也能进行正确输入,如scanf(”a
11、=%d,b=5d”);C当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(”%4.2f”,&f);D当输入数据时,必须指明变量的地址,如scanf(”%f”,&49根据定义和数据的输入方式,输入语句的正确形式为:( )。已有定义:数据的输入方式:1.23 4.5Ascan(”%f,%f”,& Bscanf(”%f%f”,&Cscanf(”%3.2f%2.1f”,& Dscanf(”%3.2f%2.1f”,&50根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为( )。#include ”stdio.h”main()char s1,s2,s3;输入语句;pr
12、intf(”%c%c%c”,s1,s2,s3);输入形式:ABC (注:输出形式:ABAscanf(”%c%c%c”,&s1,&s2,&s3);Bscanf(”%c%c%c”,&s1, &Cscanf(”%c,%c,%c”,&Dscanf(”%c%c”, &51以下程序的执行结果是: 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=%d52以下程序的输出结果是( )。 printf(”nstring1=%15s*”, ”programming”); printf(”nstri
13、ng2=%-5s*”, ”boy”); printf(”string3=%2s*”, ”girl”);Astring1=programming* Bstring1=programming* string2=boy* string2=boy*string3=gi* string3=gi* Cstring1=programming* Dstring1=programming* string2=boy*string3=girl* string2=boy*string3=girl*53根据题目中已给出的数据的输入和输出形式,程序中输入输出语句的正确内容是( )。 int a; float b; 输入语
14、句 输出语句12.3a+b=3.300Ascanf(”%d%f”,&b); Bscanf(”%d%3.1f”,& printf(”na+b=%5.3f”,a+b); printf(”na+b=%f”,a+b);Cscanf(”%d,%f”,& Dscanf(”%d%f”,& printf(”na+b=%5.3f”,a+b) printf(”na+b=%f”,a+b);54阅读以下程序,当输入数据的形式为:12,34,正确的输出结果为( )。 int a,b; scanf(”%d%d”, & printf(”a+b=%dn”,a+b);Aa+b=46 B有语法错误Ca+b=12 D不确定值55若
15、有定义: char s1,s2,s3; 并有以下输出数据: 12 UVW则能给x赋给整数1,给y赋给整数2,给s1赋给字符U,给s2赋给字符V,给s3赋给字符W的正确程序段是( )。Ascanf(”x=%dy=%d”,& s1=getchar();s2=getchar();s3=getchar();Bscanf(”%d%d”,&Cscanf(”%d%d%c%c%c”,&Dscanf(”%d%d%c%c%c%c%c%c”,&s3,&12 填空题1 C语言的符号集包括_、_、_。2 结构化设计中的三种基本结构是_、_、_。3 C语言源程序文件的后缀是_,经过编译后生成文件的后缀是_,经过链接后生成
16、文件的后缀是_。4 C语言的关键字都用_大写或小写。5 一个函数由两部分组成,它们是_、_。6 函数体一般包括_、_。7 C语言是通过_来进行输入和输出的。8 以下程序的执行结果_。 #include ”stdio.h” main() short i=-1,j=1; printf(”dec:%d,oct:%o,hex:%x,unsigned:%un”,i,i,i,i);%un”,j,j,j,j);9 以下程序的执行结果是_。 char s=b;%x,ASCII:%cn”, s,s,s,s);10以下程序的执行结果是_。 float pi=3.1415927; printf(”%f,%.4f,%
17、4.3f,%10.3f”,pi,pi,pi,pi); printf(”n%e,%.4e,%4.3e,%10.3e”,pi,pi,pi,pi);11以下程序的执行结果是:_。 char c=c+5;printf(”c=%cn”,c);12以下程序输入123后的执行结果是_。 int i,j; char k; scanf(”%d%c%d”,&i,&k,&j); printf(”i=%d,k=%c,j=%dn”,i,k,j);13有以下程序,若输入9876543210后的执行结果是_;若输入为:9876543210后的执行结果是_;9876543210后的执行结果为: int x1,x2; char
18、 y1,y2; scanf(”%2d%3d%3c%c”,& printf(”x1=%d,x2=%d,y1=%c,y2=%cn”,x,y);14若x和y均为int型变量,则以下语句的功能是_。 x+=y; y=x-y; x-=y;15有一输入函数scanf(”%d”,k);则不能使float类型变量k得到正确数值的原因是:16有如下程序段,输入数据:12345ffl678后,u的值是 【1】 ,v的值是 【2】 。int u;float v;scanf(“%3d%f”,&u,&v);13 答案及部分解析一 选择题答案1B 2B 3A 4B 5B 6D7B 8D 9B 10C 11A 12C13C
19、 14B 15C 16A 17A 18C19C 20A 21C 22C 23A 24B25A 26D 27A 28A 29D 30B 31C 32C 33B 34B 35C 36C 37C 38D 39D 40C 41D 42A43B 44D 45D 46A 47B 48D 49B 50A 51D 52D 53A 54D 55D 14解析:C语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。而且不能与C语言规定的关键字同名。关键字如:auto, break, case, char, const, continue, default, do, double, e
20、lse, entry, extern, for, float, goto, if, int, int, long, register, return, short, signed, sizeof, static, struct, unsigned, while, switch, typedef, void, volatile, unior。这些关键字先不必硬背下来,随着后续的学习,你将发现它们都是一些数据的类型、语句等,自然会随着学习的深入,而记下来。15解析:用指数形式表示一个实型常数时,E或e之前必须有数字,且E后面指数必须为整数。16解析:101为转义字符,相对应一个ASCII码字符。(
21、101)8=(65)10=A.17解析:转义字符的特征是以“”开头,其后跟一些字符,如n, t, , , , ”, b, f等代表一些特殊的含义,而后如跟数字,可以为八进制或者十六进制,将其转换为对应的ASCII码值,就可以得出对应的字符。“”后跟八进制的写法:0nn, 或者nn, 表示“0”或者“”后只能跟1或3位07之间的数字;“”后跟十六进制的写法:xnn,或者nn, 表示“x”或者“”后只能跟1或2位09及af(AF)之间的字符。选项B的错误在于8不是八进制;而选项C的错误在于没有“”;选项D的错误在于超长(多了一位)。21解析:B的错误在于赋值语句的左侧只能为一个简单变量,如:n=3
22、*(n=18); C的错误在于%运算符只能适用于整型数据,D的错误在于作类型转换时,应将类型加上括号,即为:y=(float) m31解析:逗号表达式的最终结果为最右端的表达式(即x+y)的值,其运算顺序是从左自右的。第三个表达式y+,其隐含有两步操作:先取y的原值,再执行y=y+1运算;而本题中,虽然没有将y赋给某个变量(取其原值),但还是一定会执行加运算的。因而,经过第三个表达式,y已经自加为6,故x+y的值为8,相对应得表达式最终结果为8。若本题改为:(x=2, y=5, z=y+, x+z),则其结果应为7。二 填空题答案1 答案:英文字母、数字、一些有特定含义的标点符号2 答案:顺序结构、选择结构、循环结构3 答案:C,OBJ,EXE4 答案:小写5 答案:函数说明部分和函数体6 答案:变量定义部分和执行部分7 答案:输入和输出函数8 答案:dec:-1,oct:177777,hex:ffff,unsig
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1