ImageVerifierCode 换一换
你正在下载:

C语言.docx

[预览]
格式:DOCX , 页数:34 ,大小:23.10KB ,
资源ID:26026438      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26026438.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言.docx

1、C语言 信盈达考试中心笔试试题C语言测试试题 姓名:_ 联系方式:_ 测试成绩:_ 老师评价:_一、填空题(每题2分,共20分)1.已知unsigned char a = 250; int b = 250; 则计算: b = a 2; 后, a = _250_,b = _1000_。 unsigned char a = 250;/ 1111 1010 11 1110 10 1000 数据类型: 基本数据类型:int 按大小: short int 2字节 16位 long int 4个字节 int 4个字节 按符号: 有符号: signed int -缺省,默认为有符号的 无符号: unsign

2、ed int 字符型 char 1字节 在内存中以整数的形式存储 默认为有符号 float 实型-单精度 4字节 3.1415-0.31415 符号位+小数位+指数 double 双精度 8个字字节 求数据类型所占空间的大小: sizeof(数据类型/变量名) -关键字 构造数据类型:结构体 数组 共用体 指针类型 空类型(void) - 位运算符: & | 数据进行运算之前,需要将数据转换成二进制进行运算 1)按位 & 规则:有0为0,全1为1 char a=0x56 /0101 0110char b=0x78 /0111 1000a | b :- 0111 1110 2)按位 | 规则:有

3、1为1 全0为0 3)按位 规则:相同为0,相异为1char a=0x56 /0101 0110char b=0x78 /0111 1000a b : - 0010 11104)按位 规则:整体左移,高位溢出,低位补0 char a=0x56 0101 1000 规则:整体右移,低位溢出,高位补0 char a=0x56 /0101 0110 0001 01012 数据类型的转换 强制数据类型转换 高精度-低精度 (int)1.23 float a=12.34 int b; b=(int)a 自动数据类型转换 -由低精度-高精度转换 从低到高: char-short-int-long-floa

4、t-double 运算符:1.算数运算符:+ - * / %(求余) 1)/ 当除法两边是整数的时候,结果会自动取整 10/3=3 当除法两边有一边是小数的时候,结果会取准确值 10/3.0=3.333333 2)% (求余) 两边都必须为整数 用法:位数分离 int a=123 a%10-3 a/10%10=2 a/100=1 2.关系运算符: = = 单目运算符 ! + -指针运算符 : * &算数运算符位运算: 关系运算符:位运算符: &高于 高于|逻辑算符:& 高于|三目运算符:复合赋值运算符(赋值运算符): += -= *= a+=2;-a=a+2逗号运算符(表达式1,表达式2.表达

5、式n); 前置后置 +a:a+:后置int a=1,b=2;int c; c=a+;/c=1,a=2 c=+b;/c=3,b=3 (条件表达式)?表达式1:表达式2 -2.已知 : int a = 5; int b = 6; int c = 7; int d = 8; 求计算表达式(a = c b) | (d = b a)后。a,b,c,d的值分别是_1,6,7,8_。-(a=1) | (d = b a)3.已知字母a的ASCII码为十进制数97,且设ch为char型变量,则表达式ch= z * 4;的值为_-24_。-z=122*4=488; char ch=488; -128 127 48

6、8-256=232-256=-24-字符:单引号表示字符串吧:双引号来表示字符串:由多个字符组成you=you0y=y0z=122*4=488;char ch;数据溢出:char :有符号: 数据是按位存储的 对于有符号的数据来说,最高位-符号位 最高位1-负数 最高位0-正数 最大值:0111 1111 - 127 最小值:1000 0000 - -128 无符号: 最大值:1111 1111 -255 最小值: 0000 0000 -0 - 数据溢出: 数据从最大值方向溢出,此时,会从最小值开始递增 数组从最小值方向溢出,会从最大值方向开始递增 数据类型决定数据存储范围 4.已知:int

7、a; scanf(%o, &a); 假设用户输入:482n。则 printf(a = %on, a); 输出_4_。printf(格式控制,输出列表)格式控制: 格式符:控制数据输出的格式 %d %f %s %u %c %o %x %p 输出地址 格式符跟输出列表在类型 数量 位置上一一对应 转义字符: n :回车换行 t : r :回车不换行 hhh:八进制 72-7*8+2=58 xh:十六进制 格式输入函数 scanf(格式控制,地址列表) int a; scanf(%d,&a); 格式控制:控制数据输入的格式 %d %f %s %u %c %o %x 格式控制符 跟取地址列表 原样输入

8、原样输出-5.已知:int a = 10; int b = 20; (a + b, a+, +b); printf(a = %d b = %dn, a, b); 输出_11_21_。 (a + b, a+, +b); -6.已知:double a = 10; int b = 5; double c; c = a % b; 程序编译报错的原因是 _变量a为double类型的数据_ 7.已知有一个二进制数:0101 0101 1101 0101,则其对应的八进制形式为:_52725_,十六进制形式为:_0x55D5_。8.堆栈是一组相同相同数据类型数据的集合,则堆栈的特点是_先进后出_。9.已知队

9、列是一种特殊的线性表,有这自己的独特的特点,则其特点是_先进先出_。10.写出: 0 0 “0”的区别:0-00 _。char a5=h,e,l,l,o;-字符数组数据类型 数组名长度;数组名下标字符串:由多个字符来组成-二、选择题(每题2分,共20分)1.已知a, b, c都是int类型变量,其中: a = 8,b = 9,c = 10,则表达式:1 = a的值为( c )A)真 B) 假 C) 1 D) 02.C语言提供的合法的关键字是( d ) A) include B) public C) Case D) do c+ : switch(整型常量表达式) case 整型常量 :语句块;

10、case 整型常量1:语句块2 . default: 语句块 do /循环体 while(条件表达式); while(条件表达式) /循环体 inlcude :文件包含指令 #: 预处理 程序编译的四步: 预处理 编译 汇编 链接 3. 在C语言中,若对函数类型未加明显式说明, 则函数的隐含类型是( C ) A) void B) double C) int D) char-函数的定义的形式: 函数返回值类型 函数名(参数列表) 函数体 函数说明: 函数返回值类型:函数要返回的数据类型void 表示函数无返回值 函数名:代表了函数的入口地址 参数列表:数据类型 参数名 函数名 参数名 都要符合标

11、识符的命名规则: 标识符的命名规则: 1.由数字,字母,下划线,美元符($)组成 2.开头不能为数字 3.并且不能是关键字int jc(int n) int i; int s=1; for(i=1;i=n;i+) s=s*i; return s;4.已知 char a = 130; printf(%dn, a); 的输出结果是( B ) A) 130 B)-126C) 有语法错误,无输出结果 D) -1-char a; 数据存储范围:-1281275.若变量a是int类型,并执行了语句:a = A+1.6; 65+1.6 则正确的叙述是( D ) A) a的值是字符 C B) a的值是浮点型

12、C) 不允许字符型和浮点型相加 D) a的值是字符 A 的ASCII值加上16.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为( D )A) a0 B) !a C) a=0 D) aif(a) /语句块1else /语句块2条件表达式成立的依据:条件表达式结果为非0值-if语句的嵌套 if(条件表达式1) /语句块1else if(条件表达式2) /语句块2else if(条件表达式3) /语句块3else /语句块4switch(整型常量表达式) case 整型常量:语句块1; case 整型常量:语句块2; case 整型常量:语句块3; 。 default

13、:语句块n;-终端输入一个学生成绩: 判断输入的数据是否为成绩 如果不是成绩:打印数据输入有误, 程序代码结束 显示成绩所处的等级: 等级划分: 90-100 A 90-99 100 9 10 80-89 B 8 70-79 C 7 60-69 D 6 60 成绩不合格 #includeint main() int n; while(1) printf(请输入学生成绩:); scanf(%d,&n); if(n100) printf(sorry,数据输入有误!n); return 0; n=n/10; switch(n) case 10 :printf(该学生所处的成绩等级是An);break

14、; case 9 : printf(该学生所处的成绩等级是An);break; case 8 : printf(该学生所处的成绩等级是Bn);break; case 7 : printf(该学生所处的成绩等级是Cn);break; case 6 : printf(该学生所处的成绩等级是Dn);break; default: printf(改学生的成绩不合格n); return 0; 7.若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为( B )A) 1.4 B) 1 C) 2.0 D) 2-int a=8,b=5,c;,执行语句c=1+0.4 8.若有以下程序段

15、, int c1=3, c2=2, c3; c3 = 1.0 / c2 * c1; 则执行后,c3中的值是( C )A) 0 B) 0.5 C) 1 D) 1.5 - int c1=3, c2=2, c3; c3 = 0.5* c1; 9.若有以下定义和语句 char c1=b,c2=e; printf(%d,%cn,c2-c1,c2-a+A); 则输出结果是( D ) A)2,M B)3,E C)2,E D)输出项与对应的格式控制不一致,输出结果不确定10.假设有说明语句:char a=72; 则变量a ( A )A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法三

16、、简答&程序题(每题6分,共60分)1.我们学习过的9条语句是指那些语句?并且至少写出3条语句的结构,如while语句:while(表达式)循环体;- 1 2 5 4for(赋值表达式;条件表达式;循环变量表达式) 3 6 /循环体;赋值表达:执行一次四个跳转语句: break: 适用于循环 switch 作用:结束循环语句,跳出switch结构 continue 语句 适用于循环语句 作用:结束本次循环 #includeint main() int i; for(i=0;i=6;i+) printf(%dn,i); if(i=4) break; printf(%dn,i); return :

17、 返回一个数值 结束函数#includeint pi();int main() int i; int s; for(i=0;i=6;i+) printf(%dn,i); if(i=4) continue; printf(%dn,i); s=pi(); printf(%dn,s);int pi() printf(hello worldn); return 1; printf(are you ok!n); return 2;goto 语句 真正的跳转语句 语法:goto 标签名 只能在同一个函数进行跳转 #includeint main() int i; int sum=0; for(i=1;i=

18、100;i+) sum=sum+i; printf(%dn,sum);-#includeint main() int i=1; int sum=0;mu: if(i=100) sum=sum+i; i+; goto mu; printf(%dn,sum);2.输入一个不多于5位的正整数,判断他是几位数, 并逆序输出。 #includeint main() int n; int a5; int i=0; int cnt=0; scanf(%d,&n); /1234 while(n0) ai+=n%10; n=n/10; cnt+; for(i=0;icnt;i+) printf(%d ,ai);

19、 printf(n);3.编程实现求 1*1*1 + 2*2*2 + 3*3*3 + . + 100*100*100的和。 #include int main() int i; int sum=0; for(i=1;i=100;i+) sum=sum+i*i*i; if(i=100) printf(%d*%d*%d=,i,i,i); else printf(%d*%d*%d+,i,i,i); printf(%dn,sum); - #include int main() int i; int sum=0; for(i=1;i=100;i+) sum=sum+i*i*i; / if(i=100)

20、/ printf(%d*%d*%d=,i,i,i);/ else/ printf(%d*%d*%d+,i,i,i); printf(1*1*1 + 2*2*2 + 3*3*3 + . + 100*100*100=%dn,sum); 4.编程计算1*2*3+3*4*5+.+99*100*101的值。 #include int main() int i; int sum=0; for(i=1;i=99;i+=2) sum=sum+i*(i+1)*(i+2); printf(1*2*3+3*4*5+.+99*100*101=%dn,sum); - 终端输入一个整数(任意),输入一个数,控制位数 n=

21、5 a+aa+aaa+aaaa+aaaaa 3,6 3+33+333+3333+33333+333333 int s=0; int sum=0; for(i=0;i5;i+) s=s+a; sum=sum+s; a=a*10; - 求一个数的阶乘,显示: 1!=1 2!=1*2 3!=1*2*3 1!= 2!= 3!= 4!= . 10! 1!+2!+3!+4!.10!= int s=1; int sum=0 for(i=1;i=10;i+) s=s*i; sum=sum+s; 5.编写一个函数实现将两个正整数合成一个整型数。如 12 和 34合成1234。12 341200+34123 456123000+456-#includeint hc(int a,int b);int main() int x,y; int sum; while(1) printf(please enter two numbers:n); scanf(%d%d,&x,&y); sum=hc(x,y); printf(%d, %d 合成 %dn,x,y,sum); int hc(int a,int b) / int a=x,int b=y int c=b; while(c0

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1