您好,欢迎访问三七文档
C语言信盈达考试中心笔试试题—C语言测试试题姓名:____________联系方式:___________测试成绩:_____老师评价:___________一、填空题(每题2分,共20分)1.已知unsignedchara=250;intb=250;则计算:b=aa=___250____,b=___1000________。unsignedchara=250;//11111010111110101111101000-----1000数据类型:基本数据类型:int按大小:shortint2字节16位longint4个字节int4个字节按符号:有符号:signedint-----缺省,默认为有符号的无符号:unsignedint字符型char1字节在内存中以整数的形式存储默认为有符号float实型----单精度4字节3.1415-----0.31415符号位+小数位+指数double双精度8个字字节求数据类型所占空间的大小:sizeof(数据类型/变量名)------关键字构造数据类型:结构体数组共用体指针类型空类型(void)-----------------------位运算符:&|~^数据进行运算之前,需要将数据转换成二进制进行运算1)按位&规则:有0为0,全1为1chara=0x56//01010110charb=0x78//01111000a|b:-----------------------------011111102)按位|规则:有1为1全0为03)按位^规则:相同为0,相异为1chara=0x56//01010110charb=0x78//01111000a^b:-------------------------------001011104)按位规则:整体左移,高位溢出,低位补0chara=0x56010110004)按位规则:整体右移,低位溢出,高位补0chara=0x56//01010110000101012数据类型的转换强制数据类型转换高精度---》低精度(int)1.23floata=12.34intb;b=(int)a自动数据类型转换----》由低精度--高精度转换从低到高:char--short--int--long--float--double运算符:1.算数运算符:+-*/%(求余)1)/当除法两边是整数的时候,结果会自动取整10/3=3当除法两边有一边是小数的时候,结果会取准确值10/3.0=3.3333332)%(求余)两边都必须为整数用法:位数分离inta=123a%10----3a/10%10=2a/100=12.关系运算符:由关系运算符组成的式子叫做关系表达式关系表达式的结果只有两种0或1对于数据来说,只要是一个非0值,条件成立优先级:3)逻辑运算符:&&||!&&表达式1||表达式24)!!表达式单目运算符优先级:!高于&&高于||------------------括号(){}.-单目运算符~!++--指针运算符:*&算数运算符位运算:关系运算符:位运算符:&高于^高于|逻辑算符:&&高于||三目运算符:复合赋值运算符(赋值运算符):+=-=*=a+=2;---a=a+2逗号运算符(表达式1,表达式2...表达式n);前置后置++++a:a++:后置inta=1,b=2;intc;c=a++;//c=1,a=2c=++b;//c=3,b=3(条件表达式)?表达式1:表达式2------------------------------------------------2.已知:inta=5;intb=6;intc=7;intd=8;求计算表达式(a=cb)||(d=ba)后。a,b,c,d的值分别是__1,6,7,8__________________。----------------------------------------------(a=1)||(d=ba)3.已知字母a的ASCII码为十进制数97,且设ch为char型变量,则表达式ch='z'*4;的值为___-24______。---------------------------------------------'z'==122*4=488;charch=488;-128~127488-256=232-256=-24---------------------------------------------字符:单引号表示字符串吧:双引号来表示字符串:由多个字符组成you='y''o''u''\0'y='y''\0''z'==122*4=488;charch;数据溢出:char:有符号:数据是按位存储的对于有符号的数据来说,最高位---符号位最高位1---负数最高位0---正数最大值:01111111--------127最小值:10000000---------128无符号:最大值:11111111--------255最小值:00000000-------0--------------------------------数据溢出:数据从最大值方向溢出,此时,会从最小值开始递增数组从最小值方向溢出,会从最大值方向开始递增数据类型决定数据存储范围4.已知:inta;scanf(%o,&a);假设用户输入:482\n。则printf(a=%o\n,a);输出______4______。printf(格式控制,输出列表)格式控制:格式符:控制数据输出的格式%d%f%s%u%c%o%x%p输出地址格式符跟输出列表在类型数量位置上一一对应转义字符:'\n':回车换行'\t':'\r':回车不换行'\hhh':八进制'\72'-----7*8+2=58'\xh':十六进制格式输入函数scanf(格式控制,地址列表)inta;scanf(%d,&a);格式控制:控制数据输入的格式%d%f%s%u%c%o%x格式控制符跟取地址列表原样输入原样输出------------------------------------------------------------5.已知:inta=10;intb=20;(a+b,a++,++b);printf(a=%db=%d\n,a,b);输出___11___21_____。(a+b,a++,++b);-----------------------------------------6.已知:doublea=10;intb=5;doublec;c=a%b;程序编译报错的原因是_变量a为double类型的数据_____________7.已知有一个二进制数:0101010111010101,则其对应的八进制形式为:___52725_______,十六进制形式为:__0x55D5________。8.堆栈是一组相同相同数据类型数据的集合,则堆栈的特点是_____先进后出________________。9.已知队列是一种特殊的线性表,有这自己的独特的特点,则其特点是______先进先出_______。10.写出:0‘0’“0”的区别:0----‘0’'\0'____________________________________________________________________________________________。chara[5]={'h','e','l','l','o'};----字符数组数据类型数组名[长度];数组名[下标]字符串:由多个字符来组成---------------------------------------------------二、选择题(每题2分,共20分)1.已知a,b,c都是int类型变量,其中:a=8,b=9,c=10,则表达式:1A)真B)假C)1D)02.C语言提供的合法的关键字是(d)A)includeB)publicC)CaseD)doc++:switch(整型常量表达式){case整型常量:语句块;case整型常量1:语句块2...default:语句块}do{//循环体}while(条件表达式);while(条件表达式){//循环体}inlcude:文件包含指令#:预处理程序编译的四步:预处理编译汇编链接3.在C语言中,若对函数类型未加明显式说明,则函数的隐含类型是(C)A)voidB)doubleC)intD)char-----------------函数的定义的形式:函数返回值类型函数名(参数列表){函数体}函数说明:函数返回值类型:函数要返回的数据类型void表示函数无返回值函数名:代表了函数的入口地址参数列表:数据类型参数名函数名参数名都要符合标识符的命名规则:标识符的命名规则:1.由数字,字母,下划线,美元符($)组成2.开头不能为数字3.并且不能是关键字intjc(intn){inti;ints=1;for(i=1;is=s*i;returns;}4.已知chara=130;printf(%d\n,a);的输出结果是(B)A)130B)-126C)有语法错误,无输出结果D)-1------------------------chara;数据存储范围:-128~1275.若变量a是int类型,并执行了语句:a='A'+1.6;65+1.6则正确的叙述是(D)A)a的值是字符'C'B)a的值是浮点型C)不允许字符型和浮点型相加D)a的值是字符'A'的ASCII值加上16.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为(D)A)aif(a){//语句块1}else{//语句块2}条件表达式成立的依据:条件表达式结果为非0值----------------------------------------------if语句的嵌套if(条件表达式1){//语句块1}elseif(条件表达式2){//语句块2}elseif(条件表达式3){//语句块3}else{//语句块4}switch(整型常量表达式){case整型常量:语句块1;case整型常量:语句块2;case整型常量:语句块3;。。。。default:语句块n;}----------------------------------终端输入一个学生成绩:判断输入的数据是否为成绩如果不是成绩:打印数据输入有误,程序代码结束显示成绩所处的等级:等级划分:90-100A90-9910091080-89B870-79C760--69D6#includeintmain(){intn;while(1){printf(请输入学生成绩:);scanf(%d,&n);if(n{printf(sorry,数据输入有误!\n);return0;}n=n/10;switch(n){case10:printf(该学生所处的成绩等级是A\n);break;case9:printf(该学生所处的成绩等级是A\n);break;case8:printf(该学生所处的成绩等级是B\n);break;case7:printf(该学生所处的成绩等级是C\n);break;case6:printf(该学生所处的成绩等级是D\n);break;default:printf(改学生的成绩不合格\n);}}return0;}7.若有定义:inta=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为(B)A)1.4B)1C)2.0D)2--------------------------------------------------inta=8,b=5,c;,执行语句c=1+0.48.若有以下程序段,intc1=3,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是(C)A)0B)0.5C)1D)1.5-----------------------------------------------------intc1=3,c2=2,c3;c3=0.5*c1;9.若有以下定义和语句charc1='b',c2=
本文标题:C语言
链接地址:https://www.777doc.com/doc-7845413 .html