C语言基础知识练习题.doc_第1页
C语言基础知识练习题.doc_第2页
C语言基础知识练习题.doc_第3页
C语言基础知识练习题.doc_第4页
C语言基础知识练习题.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言基础知识练习题一、 选择题1. 以下不是C语言的特点的是( )。A、语言简洁紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件操作 D、C语言移植性好2. 下列字符序列中,不可用作C语言标识符的是( )。Aabc123 Bno.1 C_123_ D_ok 3. 正确的C语言标识符是 ( )。A_buy_2 B2_buy C?_buy Dbuy?4. 请选出可用作C语言用户标识符的一组标识符( )。 Avoid Ba3_b3 CFor D2adefine _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是( )。 A B0xAA Ct D06. 不属于C语言关键字的是( )。 Aint Bbreak Cwhile Dcharacter 7. 是C语言提供的合法关键字的是( )。 AFloat Bsigned Cinteger DChar8. 以下不能定义为用户标示符的是( )。 Ascanf BVoid C_3com_ Dint 9. 一个C程序是由( )。 A一个主程序和若干子程序组成 B一个或多个函数组成C若干过程组成 D若干子程序组成10. C语言程序的基本单位是( )。 A程序行 B语句 C函数 D字符11. 下列说法中,错误的是( )。 A每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B每个函数都有一个函数头和一个函数体,主函数也不例外C主函数只能调用用户函数或系统函数,用户函数可以相互调用D程序是由若干个函数组成的,但是必须有、而且只能有一个主函数12. 以下说法中正确的是( )。 AC语言程序总是从第一个定义的函数开始执行B在C语言程序中,要调用的函数必须在main( )函数中定义CC语言程序总是从main( )函数开始执行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 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*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中的值为( )。 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为int类型,则以下能实现将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假设所有变量均为整型,则表达式(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;38下列语句中符合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*%d%lf ”, &x, &y, &z);Cscanf(”%x%*d%o”, &x,&y);D。scanf(”%x%o%6.2f”, &x,&y,&z);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 B10A20B C10 A20 B D10A20B43若变量已正确说明为float类型, 要通过语句scanf(”%f %f%f”, &a, &b, &c);给a赋予10.0, b赋予22.0, c赋予33.0, 不正确的输入形式为( )。A10 B10.0,22.0,33.0 C10.0 D10 22 22 22.0 33.0 33 3344有如下程序,若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是( )。(注:代表空格)int x1,x2;char y1,y2;scanf(”%d%d”,&x1,&x2);scanf(”%c%c”, &y1,&y2);A1020AB B1020ABC C1020 D1020AB AB45已有定义int a=-2;和输出语句:printf(”%8lx”,a);以下正确的叙述是( )。A整型变量的输出格式符只有%d一种B%x是格式符的一种,它可以适用于任何一种类型的数据C%x是格式符D%8lx不是错误的格式符,其中数字8规定了输出字段的宽度46有如下程序段,对应正确的数据输入是( )。float x,y; scanf(”%f%f”, &x,&y);printf(”a=%f,b=%f”, x,y);A2.04 B2.04,5.67 CA=2.04,B=5.67 D2.055.67 47有如下程序段,从键盘输入数据的正确形式应是( )。(注:代表空格)float x,y,z; scanf(“x=%d,y=%d,z=%d”,&a,&y,&z);A123 Bx=1,y=2,z=3 C1,2,3 Dx=1 y=2 z=348以下说法正确的是( )。A输入项可以为一个实型常量,如scanf(”%f”,3.5);B只有格式控制,没有输入项,也能进行正确输入,如scanf(”a=%d,b=5d”);C当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(”%4.2f”,&f);D当输入数据时,必须指明变量的地址,如scanf(”%f”,&f);49根据定义和数据的输入方式,输入语句的正确形式为:( )。(注:代表空格)已有定义:float x,y;数据的输入方式:1.23 4.5Ascan(”%f,%f”,&x,&y); Bscanf(”%f%f”,&x,&y);Cscanf(”%3.2f%2.1f”,&x,&y); Dscanf(”%3.2f%2.1f”,&x,&y);50根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为( )。#include ”stdio.h”main()char s1,s2,s3; 输入语句; printf(”%c%c%c”,s1,s2,s3); 输入形式:ABC(注:代表空格)输出形式:ABAscanf(”%c%c%c”,&s1,&s2,&s3); Bscanf(”%c%c%c”,&s1, &s2,&s3);Cscanf(”%c,%c,%c”,&s1,&s2,&s3); Dscanf(”%c%c”, &s1, &s2,&s3);51以下程序的执行结果是:( )。#include ”stdio.h”main() int x=2,y=3; printf(”x=%d,y=%dn”,x,y);A. x=%2,y=%3 B. x=%d,y=%d C. x=2,y=3 D. x=%d,y=%d52以下程序的输出结果是( )。(注:代表空格)#include ”stdio.h”main() printf(”nstring1=%15s*”, ”programming”); printf(”nstring2=%-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根据题目中已给出的数据的输入和输出形式,程序中输入输出语句的正确内容是( )。#include ”stdio.h”main() int a; float b; 输入语句 输出语句输入形式:12.3 (注:代表空格)输出形式:a+b=3.300Ascanf(”%d%f”,&a,&b); Bscanf(”%d%3.1f”,&a,&b); printf(”na+b=%5.3f”,a+b); printf(”na+b=%f”,a+b);Cscanf(”%d,%f”,&a,&b); Dscanf(”%d%f”,&a,&b); printf(”na+b=%5.3f”,a+b) printf(”na+b=%f”,a+b);54阅读以下程序,当输入数据的形式为:12,34,正确的输出结果为( )。#include ”stdio.h”main() int a,b; scanf(”%d%d”, &a,&b); printf(”a+b=%dn”,a+b);Aa+b=46 B有语法错误 Ca+b=12 D不确定值55若有定义:int x,y; char s1,s2,s3; 并有以下输出数据:(注:代表空格) 12 UVW则能给x赋给整数1,给y赋给整数2,给s1赋给字符U,给s2赋给字符V,给s3赋给字符W的正确程序段是( )。Ascanf(”x=%dy=%d”,&x,&y); s1=getchar();s2=getchar();s3=getchar();Bscanf(”%d%d”,&x,&y); s1=getchar();s2=getchar();s3=getchar();Cscanf(”%d%d%c%c%c”,&x,&y,&s1,&s2,&s3);Dscanf(”%d%d%c%c%c%c%c%c”,&x,&y,&s1,&s1,&s2,&s2,&s3,&s3);56、设有语句“int i,a;”,执行语句“i=(a=2*3,a*5),a+6”后,变量i的值是: A、6 B、12 C、30 D、3657、给定下列程序:int i=65536;printf(“%d”,i);程序的输出结果是:A、65536 B、0 C、语法错误 D、158、在一个程序中,main()函数出现的位置是【 】 A、必须在程序的最后面 B、可以在任意地方C、必须在程序的最前面 D、必须在系统调用的库函数的后面59、语句int i=3;k=(i+)+(i+)+(i+);执行后k和i的值分别是: A、9,6 B、12,6 C、18,6 D、9,360、为表示关系“x=y=z”,在C语言中应使用表达式【 】A、(yz) B、(x=y)and (y=z) C、(x=y=z) D、(x=y)&(y=z)61、写出下面程序的运行结果#includemain() int x=2,y=0,z ; x*=3+2 ;pintf(“%d,”,x ) ; x*=y=z=4; pintf(“%d”,x ) ;A、8,4 B、10,40 C、10,4 D、8,4062、有如下程序main() int i,s; for(i=1;i=3;s+) s+=i;printf(“%dn”,s); 该程序的执行结果是A、6 B、 3 C、 死循环 D、 063、有如下程序段 int a=4,b=5,y; char c=A;y=(a&b)&(cB); 执行该程序段后,y的值为A、 ture B、 false C、 0 D、 164、写出下列程序的运行结果是main()int i,j;i=6,j=8;printf(“%d,%d,%d,%dn”,i,j,+i,j);A、7,8,7,8 B、6,8,7,9 C、7,9,7,9 D、6,8,7,8 65、下面这个程序的输出是include main()int y=10;while(y-);printf(y=%dn,y); A y=0 B while构成死循环 C y=1 D y=-1 66、已知字母A和字符0的ASCII码分别为十进制数65和48,且c2为字符型,则执行c2=A+1;后,c2中的ascII码值为()A、B B、66 C、不确定的值 D、11467、下面程序的运行结果是#includemain() int a=10,b=20,c=30,d; d=+a=20|c+; printf(%d,%d,%d,%dn,a,b,c,d);A、11,19,30,1 B、10,19,30,10 C、 11,19,31,1 D、11,20,30,3068、己有定义:int x=3, y=4, z=5;,则表达式!(x+y)+z-1&y+z/2的值是A 6 B 0 C 2 D 169、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是A、 地址传递B、 单向值传递C、 由实参传给形参,再由形参传回给实参 D、 传递方式70、执行下面的程序后,a的值是 #define S(X) X*X main() int a=10,k=2,m=1; a=S(k+m); printf(“%d”,a);A、 5 B、9 C、4 D、以上都不对71、当C的值不能为0时,在下列选项中能正确将C的值赋给变量a、b的是A、c=b=a; B、(a=c)|(b=c);C、(a=c)&(b=c); D、a=c=b;72、若x、i、j、k都是int型变量,则计算下面表达式后,x的值为( )。 x=(i=4,j=16,k=32) A、 4 B、16 C、32 D、5273、逻辑运算符两侧运算对象的数据类型( ) A) 只能是0和1 B) 只能是0或非0正数 C) 只能是整型或字符型数据 D) 可以是任何类型的数据74、若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( ) A、 A%2=1 B、 !(A%2=0) C、 !(A%2) D、A%275、语句while(!E);中的表达式!E等价于( )。 A) E=0 B)E!=1 C)E!=0 D)E=176、下面程序段的运行结果是( ) a=1;b=2;c=2 while (ab & ac) t=a;a=b;b=t;c-; printf(%d,%d,%d”,a,b,c); A、 1,2,0 B、 2,1,0 C、1,2,1 D、 2,1,177、以下程序段( ) x=-1; do x=x*x; while(!x); A、是死循环 B、循环执行二次 C、循环执行一次 D、有语法错误78、在C语言中,形参必须是( ) A、 常量 B、 变量 C、数值 D、表达式79、C语言的函数( )A、 可以嵌套调用,不能递归调用B、 可以嵌套定义C、 既可以嵌套调用,也可以递归调用D

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论