C语言的基础知识_第1页
C语言的基础知识_第2页
C语言的基础知识_第3页
C语言的基础知识_第4页
C语言的基础知识_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

第1章C语言的基础知识c程序和程序设计1)以下叙述中错误的是A) C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件B) 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中C) C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令D) C语言源程序经编译后生成后缀为.obj的目标程序(2) 下列叙述中错误的是A) C程序可以由多个程序文件组成B) —个C语言程序只能实现一种算法C) C程序可以由一个或多个函数组成D) —个C函数可以单独作为一个C程序文件存在(3) 以下叙述中错误的是A) 结构化程序由顺序、分支、循环三种基本结构组成B) C语言是一种结构化程序设计语言C) 使用三种基本结构构成的程序只能解决简单问题D) 结构化程序设计提倡模块化的设计方法(4) 以下叙述中错误的是A) 算法正确的程序最终一定会结束B) 算法正确的程序可以有零个输入C) 算法正确的程序可以有零个输出D) 算法正确的程序对于相同的输入一定有相同的结果(5) 以下选项中关于程序模块化的叙述错误的是A) 把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块B) 可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序C) 把程序分成若干相对独立的模块,可便于编码和调试D) 可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序(6) C语言源程序名的后缀是A) .exeB) .objC) .cD) .cp(7) 关于算法,以下叙述中错误的是A) 同一个算法对于相同的输入必能得出相同的结果B) —个算法对于某个输入的循环次数是可以事先估计出来的C) 某个算法可能会没有输入D) 任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕(8)以下不能用于描述算法的是A) 程序语句B) E-R图C) 伪代码和流程图D) 文字叙述(9) 以下叙述中正确的是A) 程序的算法只能使用流程图来描述B) N-S流程图只能描述简单的顺序结构的程序C) 计算机可以直接处理C语言程序,不必进行任何转换D) 结构化程序的三种基本结构是循环结构、选择结构、顺序结构(10) 以下叙述中正确的是A) 在C语言程序设计中,所有函数必须保存在一个源文件中B) 在算法设计时,可以把复杂任务分解成一些简单的子任务C) 只要包含了三种基本结构的算法就是结构化程序D) 结构化程序必须包含所有的三种基本结构,缺一不可(11) 以下叙述中正确的是A) 每个后缀为.c的C语言源程序都应该包含一个main函数B) 在C语言程序中,main函数必须放在其他函数的最前面C) 每个后缀为.c的C语言源程序都可以单独进行编译D) 在C语言程序中,只有main函数才可单独进行编译1C2B3C4C5B6C7D8B9D10B11C程序的构成、main函数和其他函数(12) 有以下程序#include<stdio.h>main(){ints,t,A=10;doubleB=6;s=sizeof(A);t=sizeof(B);printf("%d,%d\n",s,t);}在VC6平台上编译运行,程序运行后的输出结果是TOC\o"1-5"\h\zA) 4,4B) 2,4C) 4,8D) 10,6(13) 对于一个正常运行的C程序,以下叙述中正确的是A) 程序的执行总是从程序的第一个函数开始,在main函数结束B) 程序的执行总是从main函数开始,在程序的最后一个函数中结束C) 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束D) 程序的执行总是从main函数开始(14) 计算机能直接执行的程序是A) 目标程序B) 可执行程序C) 汇编程序D) 源程序15)以下叙述中正确的是A) 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行B) C语言程序将从源程序中第一个函数开始执行C) main的各种大小写拼写形式都可以作为主函数名,如:MAIN,Main等D) C语言规定必须用main作为主函数名,程序将从此开始执行16) 以下叙述中错误的是A) C程序在运行过程中所有计算都以二进制方式进行B) 所有C程序都需要编译链接无误后才能运行C) C程序在运行过程中所有计算都以十进制方式进行D) C程序中字符变量存放的是字符的ASCII值17) 下列叙述中正确的是A) 在C程序中main函数的位置是固定的B) C程序中所有函数之间都可以相互调用C) 每个C程序文件中都必须要有一个main函数D) 在C程序的函数中不能定义另一个函数18) 以下叙述正确的是A) C语言程序是由过程和函数组成的B) C语言函数可以嵌套调用,例如:fun(fun(x))C) C语言函数不可以单独编译D) C语言中除了main函数,其他函数不可作为单独文件形式存在(19)C语言程序的模块化通过以下哪个选项来实现A) 变量B) 程序行C) 函数D) 语句20) 以下叙述中正确的是A)程序的主函数名除main外,也可以使用Main或_mainB) 在C程序中,模块化主要是通过函数来实现的C) 程序可以包含多个主函数,但总是从第一个主函数处开始执行D) 书写源程序时,必须注意缩进格式,否则程序会有编译错误21) 以下叙述中正确的是A) C语言程序总是从最前面的函数开始执行B) C语言程序总是从main函数开始执行C) C语言程序中main函数必须放在程序的开始位置D) C语言程序所调用的函数必须放在main函数的前面(22)C语言主要是借助以下哪种手段来实现程序模块化A) 定义常量和外部变量B) 使用丰富的数据类型

C) 使用三种基本结构语句D) 定义函数23)以下四个程序中,完全正确的是A)C) 使用三种基本结构语句D) 定义函数23)以下四个程序中,完全正确的是A)#include<stdio.h>B)#include<stdio.h>main();{/*/Programming/*/printf("programming!\n");}#include<stdio.h>include<stdio.h>main(){/*programming*/printf("programming!\n");}main(){/*/*programming*/*/main(){/*programming*/printf("programming!\n");}printf("programming!\n");}12C13D14B15D16C17D18B19C20B21B22D23B程序的注释、书写格式及C语言风格(24) 以下关于结构化程序设计的叙述中正确的是A) 结构化程序使用goto语句会很便捷B) —个结构化程序必须同时由顺序、分支、循环三种结构组成C) 由三种基本结构构成的程序只能解决小规模的问题D) 在C语言中,程序的模块化是利用函数实现的(25) 以下叙述中正确的是A) C程序中的每一行只能写一条语句B) 简单C语句必须以分号结束C) C语言程序中的注释必须与语句写在同一行D) C语句必须在一行内写完(26) 以下叙述中正确的是A) C程序书写格式严格,要求一行内只能写一个语句B) C程序书写格式自由,一个语句可以写在多行上C) C程序中的注释只能出现在程序的开始位置和语句的后面D) 用C语言编写的程序只能放在一个程序文件中(27) 以下关于C语言的叙述中正确的是A) C语言中的变量可以在使用之前的任何位置进行定义B) 在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致C) C语言的数值常量中夹带空格不影响常量值的正确表示D) C语言中的注释不可以夹在变量名或关键字的中间(28) 有以下程序#include<stdio.h>main(){inta=0,b=0;/*给a赋值a=10;b=20;给b赋值*/printf("a+b=%d\n",a+b);/*输出计算结果*/}程序运行后的输出结果是a+b=30a+b=10出错a+b=0我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是—条C语句可能会被转换成多条机器指令—条C语句对应转换成一条机器指令一条C语句可能会被转换成零条机器指令某种类型和格式的C语句被转换成机器指令的条数是固定的以下选项中不属于C语言程序运算符的是sizeofTOC\o"1-5"\h\z()<>&&若变量已正确定义并赋值,以下不能构成C语句的选项是A=a+b;B++;a=a+bA?a:b;以下叙述中正确的是程序必须包含所有三种基本结构才能成为一种算法如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达只有简单算法才能在有限的操作步骤之后结束我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令24D25B26B27D28D29B30C31C32D标识符、常量和变量以下选项中不合法的标识符是FORTOC\o"1-5"\h\z&aprint_00以下选项中,能用作数据常量的是115L01181.5e1.5o115按照C语言规定的用户标识符命名规则,不能出现在标识符中的是连接符大写字母数字字符下划线以下选项中,能用作用户标识符的是_0_8_8voidunsigned37)下列定义变量的语句中错误的是floatUS$;doubleint_;charFor;int_int;以下选项中关于C语言常量的叙述错误的是常量分为整型常量、实型常量、字符常量和字符串常量经常被使用的变量可以定义成常量常量可分为数值型常量和非数值型常量所谓常量,是指在程序运行过程中,其值不能被改变的量以下选项中,不合法的C语言用户标识符是AaBca-ba_b_1以下关于C语言数据类型使用的叙述中错误的是若要保存带有多位小数的数据,可使用双精度类型若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型若只处理“真”和“假”两种逻辑值,应使用逻辑类型整数类型表示的自然数是准确无误差的以下选项中不能用作C程序合法常量的是'\123'1,234123"\x7D"阅读以下程序#include<stdio.h>main(){intcase;floatprintF;printf(“请输入2个数:");scanf("%d%f",&case,&printF);printf("%d%f\n",case,printF);}该程序在编译时产生错误,其出错原因是定义语句出错,printF不能用作用户自定义标识符定义语句出错,case是关键字,不能用作用户自定义标识符定义语句无错,scanf不能作为输入函数使用定义语句无错,printf不能输出case的值以下选项中合法的标识符是1-11_1C)_11D)1__(44) 关于C语言的符号常量,以下叙述中正确的是A) 符号常量的符号名是标识符,但必须大写B) 符号常量在整个程序中其值都不能再被重新定义C) 符号常量是指在程序中通过宏定义用一个符号名来代表一个常量D) 符号常量的符号名必须是常量(45) 关于C语言的变量,以下叙述中错误的是A) 所谓变量是指在程序运行过程中其值可以被改变的量B) 变量所占的存储单元地址可以随时改变C) 程序中用到的所有变量都必须先定义后才能使用D) 由三条下划线构成的符号名是合法的变量名(46) 以下选项中不属于C语言标识符的是A) 用户标识符B) 关键字C) 常量D) 预定义标识符(47) 以下选项中合法的变量是A) 5aB) A%C) _10_D) sizeof(48) 以下叙述中正确的是A) 标识符的长度不能任意长,最多只能包含16个字符B) 语言中的关键字不能作变量名,但可以作为函数名C) 用户自定义的标识符必须“见名知义”,如果随意定义,则会出编译错误D) 标识符总是由字母、数字和下划线组成,且第一个字符不得为数字(49) C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是A) 关键字可用作用户标识符,但失去原有含义B) 在标识符中大写字母和小写字母被认为是相同的字符C) 用户标识符可以由字母和数字任意顺序组成D) 预定义标识符可用作用户标识符,但失去原有含义(50) 以下叙述中错误的是A) 常量可以用一个符号名来代表B) 数值型常量有正值和负值的区分C) 常量是在程序运行过程中值不能被改变的量D) 定义符号常量必须用类型名来设定常量的类型33B34A35A36A37A38B39B40C41B42B43C44C45B46C47C48D49D50D整型数据(51) 以下选项中,合法的一组C语言数值常量是A) 12.0Xa234.5e0028.5e-3-0xf.1774e1.50abc0x8A10,0003.e5C源程序中不能表示的数制是八进制十进制二进制十六进制以下叙述中正确的是在C程序中的八进制和十六进制,可以是浮点数八进制数的开头要使用英文字母o,否则不能与十进制区分开整型变量可以分为int型、short型、long型和unsigned型四种英文大写字母X和英文小写字母x都可以作为二进制数字的开头字符以下选项中合法的常量是2.7e999123E0.20Xab51A52C53C54D实型常量和变量以下选项中能表示合法常量的是"\007"1.5E2.0TOC\o"1-5"\h\z'\'1,200以下选项中可用作C程序合法实数的是3.0e0.2E9.1e09.12E以下不合法的数值常量是1e10110xabcd8.0E0.5以下选项中正确的定义语句是doublea=b=7;doublea;b;double,a,b;doublea=7,b=7;若有以下程序段doublex=5.16894;printf("%f\n",(int)(x*1000+0.5)/(double)1000);则程序段的输出结果是5.1750005.1690005.1700005.168000以下选项中合法的实型常量是.9143.13e-2.102.0*10C语言中double类型数据占字节数为A)4B)12816以下叙述中正确的是整型常量和实型常量都是数值型常量常量的类型不能从字面形式上区分,需要根据类型名来决定预定义的标识符是C语言关键字的一种,不能另作它用只能在函数体内定义变量,其他地方不允许定义变量(63)sizeof(double)是—个双精度型表达式—个整型表达式一个不合法的表达式—种函数调用以下选项中,值为1的表达式是1-'0''1'-01-'\0''\0'-'0'55A56C57d58D59B60A61C62A63B64C字符型常量及字符变量以下定义语句中正确的是charA=65+1,b='b';inta=b=0;floata=1,*b=&a,*c=&b;doublea=0.0;b=1.1;以下不合法的字符常量是'\"''\\''\018''\xcc'(67)有以下程序main(){charc1,c2;c1='A'+'8'-'4';c2='A'+'8'-'5';printf("%c,%d\n",c1,c2);}已知字母A的ASCII码为65,程序运行后的输出结果是TOC\o"1-5"\h\zD,69E,68E,D输出无定值以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)printf("%c\n",'a'-32);printf("%d\n",'A');printf("%c\n",65);printf("%c\n",'B'-1);以下选项中不能作为C语言合法常量的是'cd'0.1e+6"\a"'\011'有以下定义语句,编译时会出现编译错误的是chara='\n';chara="aa";chara='a';chara='\x2d';已知字符A的ASCII代码值是65,字符变量cl的值是'A',c2的值是D。则执行语句printf("%d,%d",c1,c2-2);的输出结果是TOC\o"1-5"\h\zA,68A,B65,6665,68已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。以下不能将变量c中的大写字母转换为对应小写字母的语句是c=('A'+c)%26-'a'c=C+32c=C-'A'+'a'c=(C-'A')%26+'a'以下选项中非法的C语言字符常量是'\b''\007''aa''\xaa'以下选项中非法的C语言字符常量是'9''\09''\x09''\x9d'(75)若有定义语句charc='\101';则变量c在内存中占2个字节3个字节1个字节4个字节若有以下程序#include<stdio.h>main(){charc1,c2;c1='C'+'8'-'3';c2='9'-'0';printf("%c%d\n",c1,c2);}则程序的输出结果是H9H'9'F'9'D)表达式不合法输出无定值下面选项中合法的字符常量是"X"'abc''X''\'以下叙述中正确的是字符常量在内存中占2个字节转义字符要用双引号括起来,以便与普通的字符常量区分开字符常量需要用单引号括起来字符常量是不能进行关系运算的以下叙述中正确的是字符变量在定义时不能赋初值同一英文字母的大写和小写形式代表的是同一个字符常量字符常量可以参与任何整数运算转义字符用@符号开头(80)若有定义语句:chara='\82';则变量a包含1个字符说明不合法包含2个字符包含3个字符81)有以下程序main(){charc1='A',c2='Y';printf("%d,%d\n",c1,c2);}程序的输出结果是输出格式不合法,输出出错信息TOC\o"1-5"\h\z65,9065,89A,Y(82)C语言中char类型数据占字节数为2314(83)有以下程序main(){chara='H';a=(a>='A'&&a<='Z')?(a+32):a;printf("%c\n",a);}程序运行后的输出结果是TOC\o"1-5"\h\zHAha(84)以下正确的字符串常量是'abc'OlympicGames"""\\\"65A66C67B68B69A70B71C72A73C74B75C76A77C78C79C80B81C82C83C84C算术表达式(85)若有代数式』nxex1(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是sqrt(fabs(pow(n,x)+pow(x,e)))sqrt(abs(nAx+eAx))sqrt(fabs(pow(n,x)+exp(x)))sqrt(fabs(pow(x,n)+exp(x)))(86)表达式:(int)((double)9/2)-9%2的值是TOC\o"1-5"\h\z0435(87)若有定义语句:intx=12,y=8,z;在其后执行语句z=0.9+x/y;贝Uz的值为1.9122.4(88)表达式3.6-5/2+1.2+5%2的值是4.83.33.84.3有以下定义:inta;longb;doublex,y;则以下选项中正确的表达式是a%(int)(x-y)a=x<>y(a*y)%by=x+y=x若有以下程序#include<stdio.h>main(){inta=0,b=0,c=0,d;c=(a+=b,,b+=a); /*第4行*/d=c;;/*第5行*/; /*第6行*/printf("%d,%d,%d\n",a,b,c);/*第7行*/}编译时出现错误,你认为出错的是第4行第5行第6行第7行ab不能正确表示数学式的c表达式是a*b/ca/c*ba/b*ca*(b/c)C语言程序中,运算对象必须是整型数的运算符是TOC\o"1-5"\h\z/%&&*85C86C87B88C89A90A91C92B赋值表达式93)若有定义:doublea=22;inti=0,k=18;则不符合C语言规定的赋值语句是i=(a+k)<=(i+k);a=a++,i++;i=a%11;i=!a;94)设变量已正确定义并赋值,以下正确的表达式是x=y+z+5,++yint(15.8%5)x=y*5=x+zx=25%5.0(95)若有定义语句:intx=10;则表达式x-=x+x的值为-20B)0-101096)有以下程序#include<stdio.h>main(){inta=1,b=0;printf("%d,",b=a+b);printf("%d\n",a=2*b);}程序运行后的输出结果是1,03,21,20,0(97)若变量均已正确定义并赋值,以下合法的C语言赋值语句是x=n%2.5;x+n=i;x=5=4+1;x=y==5;若有定义语句:inta=3,b=2,c=1;以下选项中错误的赋值表达式是a=b=c+1;a=(b=4)=3;a=(b=4)+c;a=1+(b=c=4);表达式a+=a-=a=9的值是TOC\o"1-5"\h\z-90189若有以下程序#include<stdio.h>main(){inta=-11,b=10;a/=b/=-4;printf("%d%d\n",a,b);}则程序的输出结果是-1-25-24-35-3以下叙述中正确的是在赋值表达式中,赋值号的右边可以是变量,也可以是任意表达式a是实型变量,a=10在C语言中是允许的,因此可以说:实型变量中可以存放整型数若有inta=4,b=9;执行了a=b后,a的值已由原值改变为b的值,b的值变为0若有inta=4,b=9;执行ja=b;b=a;之后,a的值为9,b的值为4有以下程序#include<stdio.h>main(){inta=3;printf("%d\n",(a+=a-=a*a));}程序运行后的输出结果是TOC\o"1-5"\h\z903-12若有定义和语句:inta,b;scanf("%d,%d,",&a,&b);以下选项中的输入数据,不能把值3赋给变量a、5赋给变量b的是TOC\o"1-5"\h\z3,53,5,3,53,5,493C94A95C96C97D98B99B100B101A102D103C自加、自减运算和逗号运算符设有定义:intx=2;以下表达式中,值不为6的是2*x,x+=2x++,2*xx*=(1+x)x*=x+1105)有以下程序#includemain(){intx,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序运行后的输出结果是2,3,12,3,22,3,32,2,1(106)若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是++x,y=x--x+1=yx=x+10=x+ydouble(x)/10设有定义:intk=0;以下选项的四个表达式中与其他三个表达式的值不相同的是k++k+=1++kk+1若有以下程序#include<stdio.h>main(){inta=0,b=0,c=0;c=(a-=++a),(a+=b,b+=4);printf("%d,%d,%d\n",a,b,c);}则程序的输出结果是0,4,41,4,10,4,01,4,4若有以下程序#include<stdio.h>main(){inta=0,b=0,c=0c=(a+=++b,b+=4);printf("%d,%d,%d\n",a,b,c);}则程序的输出结果是1,5,1-1,4,41,5,5-1,4,-1有以下程序main(){intsum,pad,pAd;sum=pad=5;pAd=++sum,pAd++,++pad;printf("%d\n",pad);}程序的输出结果是5786104A105A106A107A108C109C110D关系运算符及其关系表达式若有定义intx,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是(x-y<0)(x-y>0)(x-yvOIIx-y>0)(x-y==0)以下选项中,当x为大于1的奇数时,值为0的表达式是x/2x%2==0x%2!=0x%2==1以下选项中,当x为大于1的奇数

温馨提示

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

评论

0/150

提交评论