厦门大学 C语言程序设计2016模拟题讲评及课程复习
- 格式:pptx
- 大小:398.12 KB
- 文档页数:37
《C语言程序设计案例教程》模仿练习及拓展练习(参考答案)第2章数据类型、运算符与表达式模仿练习(ex1.c)1. 设 a = 10,b = 3,分别计算表达式a-b+++1和++a-b+++1的值。
2. 输入一个3位数的整数,编写一个程序,将它的十位数和百位数互换位置。
3. 输入一个4位整数,反向输出这个数。
#include <stdio.h>void main(){int x,y,x1,x2,x3,x4;//1. 设a = 10,b = 3,分别计算表达式a-b+++1和++a-b+++1的值int a =10,b=3,c;c = a-b+++1; //相当于c = a-(b++)+1->c = 10-3+1 =8;b = b+1=4printf("a-b+++1=%d\n",c);a = 10;b = 3;c = ++a-b+++1;printf("++a-b+++1=%d\n",c);//2. 输入一个3位数的整数,编写一个程序,将它的十位数和百位数互换位置。
printf("输入一个3位数的整数:");scanf("%d",&x);x1=x/100;x2= (x/10)%10;x3=x%10;y = x3*100+x2*10+x1;printf("%d\n",y);//3. 输入一个4位整数,反向输出这个数。
printf("输入一个4位数的整数:");scanf("%d",&x);x1=x/1000;x2= (x/100)%10;x3=(x%100)/10;x4=x%10;y = x4*1000+x3*100+x2*10+x1;printf("%d\n",y);}模仿练习(ex2.c)1.若有int b=7;float a=2.5F,c=4.7F;求表达式a+(b/2*(int)(a+c)/2)%4的值2. 若有int a=2,b=6;表达式(a++)*(--b)执行后,变量a和b的值分别为多少?#include "stdio.h"void main(){ //1.若有int b=7;float a=2.5F,c=4.7F;求表达式a+(b/2*(int)(a+c)/2)%4的值int b=7,a1;float a=2.5F,c=4.7F;printf("a+(b/2*(int)(a+c)/2)%4 =%d\n",a+(b/2*(int)(a+c)/2)%4);//2. 若有int a1=2,b=6;表达式(a1++)*(--b)执行后,变量a1和b的值分别为多少?a1=2;b=6;(a1++)*(--b);printf("a1=%d,b=%d\n",a1,b);}模仿练习(ex3.c)1. 任意输入两个数,求这两个数进行“与”和“或”之后的结果。
C程序设计期末复习思考题一、选择题:1 一个C语言程序是由______B___。
A)一个主程序和若干个程序组成B)函数组成C)若干过程组成D)若干子程序组成2已知各变量的类型说明如下:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是______D____。
A)a+=a-=(b=4)*(a=3) B) a=a*3=2C) x%(-3) D) y=float(i)3以下不正确的语句为___B_______。
A) if (x > y); B) if (x = = y) && (x != 0) x + = y;C) if (x < y) { x ++; y++;} D) if (x != y) scanf(“ %d ”,&x);else scanf(“ %d ”,&y);)4C语言中while 和do —whiloe循环的主要区别是_____A______。
A)do —while 的循环体至少无条件执行一次B)while 的循环控制条件比do—while 的循环控制条件严格C)do —while 允许从外部转到循环体内D)do —while 的循环体不能是复合语句5 下面程序应该是_____D___ (程序行左边的数字表示行号)1main( ) 5 for( i=0;i<3;i++) scanf( “%d”,&a[i]);2{ 6 for(i=1;i<4;i++) a[0] = a[0] + a[i];3int a[3]={0}; 7 printf(“%d\n”, a[0]);4int i; 8 }A)没有错误B)第3 行有错误C)第5 行有错误D)第6 行有错误6 以下程序有语法性错误,有关错误原因的正确说法是____________。
main( ){ int G=5,k;void prt_char( );……k=ptr_char(G);……}A)语句void ptr_char( ); 有错,它是函数调用语句,不能用void 说明B)变量名不能使用大写字母C)函数说明和函数调用语句之间有矛盾D)函数名不能使用下划线7若有以下定义,则对a数组元素正确引用的是___A_________。
一、选择题B-变量s已定义为“char *s=”Heoll world!””,要使变量p指向s所指向的同一个字符串,则应定义为()。
A. char *p=s;B-标准输入设备的文件流标示符是()。
A. stdinB-表示文件结束符的符号常量为()C. EOFC-char类型的长度为________个字节。
A. 1 向一个二进制文件中写入信息的函数为()。
D. fwrite()C-C语言程序中的基本功能模块为()。
D.函数C-C语言原程序文件的缺省扩展名为(A)。
D.CC-C语言中的系统函数fopen()是()一个数据文件的函数。
D. 打开C-程序运行中需要从键盘上输入多于一个数据时,各数据之间默认使用()符号作为分隔符。
D. 空格或回车C-从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。
B.fgets()D-带有随机函数的表达式rand()%20的值在(C)区间内, C.0~19D-当处理特定问题时的循环次数已知时,通常采用(A)循环来解决。
A.forF-for循环语句“for(i=0; i<n; i+=2) S;”中循环体S语句被执行的次数为()。
A. (n+1)/2F-for循环语句能够被改写为()语句。
D. whileF-for语句能够被改写为(D)语句。
D.whileH-函数调用func(exp1,exp2),exp3*exp4-exp5)中所含实参的个数为(B)个。
B.2J-假定a为一个数组名,则下面的( B )表示有错误。
B.*a++J-假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大()个字节。
C.16 J-假定a为一个字符数组名,则a[8]的地址比该数组的首地址大( B )个字节。
B.8J-假定a为一个字符数组名,则元素a[1]的指针访问方式为()。
B. *(a+i)J-假定i的初值为0,则在循环语句“while(i<n) {s+=i*i; i++;}”中循环体被执行的总次数为()。
C语言程序设计实用教程参考答案C语言程序设计是计算机科学中最基础和重要的一门课程,对于计算机专业的学生来说至关重要。
本教程将为初学者提供一份实用的参考答案,帮助他们学习和理解C语言的程序设计。
1. 概述C语言是一种通用的高级编程语言,最初由贝尔实验室的Dennis Ritchie开发。
它在计算机科学领域具有广泛的应用,特别在系统开发和嵌入式系统中非常常见。
2. 程序结构C语言的程序结构主要包含预处理指令、函数、语句和注释。
预处理指令通过“#”符号开头,用于引入头文件和宏定义。
函数是C语言中的基本模块,用于封装和组织代码。
语句是具体的执行指令,用于实现特定的功能。
3. 常用数据类型C语言提供了多种数据类型,如整数、浮点数、字符和字符串等。
其中整数可以分为有符号整数和无符号整数。
浮点数用于处理带有小数部分的数值。
字符类型用于表示单个字符,字符串类型用于表示多个字符的序列。
4. 控制结构控制结构是C语言中的重要概念,用于控制程序的流程和执行顺序。
常见的控制结构包括条件语句(if-else语句和switch语句)和循环语句(while循环、for循环和do-while循环)。
5. 数组和指针数组是一种用于存储相同类型数据的集合。
C语言中的数组可以一维或多维。
指针是一种特殊的变量类型,用于存储内存地址。
通过指针可以实现对其他变量的间接操作。
6. 函数函数是C语言中的重要概念,用于将代码封装成可复用的模块。
C语言提供了多种函数类型和参数传递方式。
函数的定义包括函数名、返回类型、参数列表和函数体。
7. 文件操作C语言提供了对文件的操作功能,包括文件的打开、读取、写入和关闭等。
文件操作需要使用标准库函数和文件指针来实现。
8. 动态内存分配C语言中可以通过动态内存分配函数(如malloc和free)来动态分配和释放内存。
动态内存分配可以提高程序的灵活性和效率。
9. 结构体和联合体结构体是一种自定义数据类型,用于封装不同类型的数据成员。
目录第1-3章C语言基础知识习题 (2)1 选择题 (2)2 填空题 (7)3 答案及部分解析 (9)第4章选择结构习题 (11)1 选择题 (11)2 填空题 (17)3 答案及部分解析 (23)第5章循环结构习题 (26)1 选择题 (26)2 填空题: (32)3 答案及部分解题分析 (39)第6章数组习题 (41)1. 单项选择题 (41)2. 填空题 (44)3. 判断题 (45)4. 程序填空题 (45)5. 阅读程序,分析程序的功能。
(49)第7章函数习题 (55)1. 单项选择题 (55)2. 填空题 (56)3. 判断题 (57)4. 程序填空题 (58)5. 写出下列程序运行结果 (59)第8章指针习题 (67)1 选择题 (67)2 填空题 (69)第1-3章C语言基础知识习题1 选择题1. 以下不是C语言的特点的是()。
A、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。
A.abc123 B.no.1 C._123_ D._ok3.正确的C语言标识符是()。
A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。
A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。
A.\\ B.\0xAA C.\t D.\06.不属于C语言关键字的是()。
A.int B.break C.while D.character7.是C语言提供的合法关键字的是()。
A.Float B.signed C.integer D.Char8.以下不能定义为用户标示符的是()。
A.scanf B.V oid C._3com_ D.int9.一个C程序是由()。
厦门大学《C程序设计》课程试卷软件学院系2007 年级专业主考教师:试卷类型:(A卷)班级:姓名:学号:题号一二三四总分评卷人得分一、选择题(本大题共22小题,每小题1分,共22分)1.以下叙述中错误的是()。
A.函数是C程序的基本单位B.一个C源程序可以包含多个main()函数C.C程序中的每一个语句必须有一个分号D.C程序中注释部分可以出现在程序中任意合适的地方2.以下属于C语言合法命名的为()A._int B.int C.int-1 D.1int3.指定变量c、d为无符号短整型数据,下列语句正确的是()A.unsigned int c, d; B.unsigned long c, d;C.short int c, d; D.unsigned short c, d;4.已知字母A和a的ASCII码分别是65和97,则用八进制表示的字符常量’\101’是()A.′A′B.′a ′C.′e′D.非法的常量5.已知a=1,b=5。
执行输入语句scanf("%d ;%d",&a,&b);正确的键盘输入是()A.3 4B.3,4C.a=3,b=4D.3 ;46.下列语句的屏幕输出会是()printf( “ab c\t de\rf\tg” );A.ab c df g B.fab c gdeC.f gde D.ab c def g7.以下程序段的输出结果是()int x=100,y=200; printf(“%d”,(x,y));A.200B.100C.100 200D.不确定的8.a=5,b=4; 则printf (“%d”, a>b?a:b+1); 的输出为()A.3 B.4 C.5 D.69.int a=3,b=4,c=5;下列表达式的值为0的是()A.’a’&&’b’B.a||b+c&&b-c C.a<=b D.!((a<b)&&!c||1)10.a、b、c、d、m、n为整数型变量,值均为1;执行(m=a>b)&&(n=c>d);后m,n的值是()A.0,0B.1,0C.0,1D.1,111.设x的值为10,则表达式1<x<2的值为()A.0B.1 C.True D.F alse12.若要求从键盘读入含有空格字符的字符串,应使用函数()。
C语言程序设计习题集及答案电子信息工程学院内容简介本习题集是为根据嘉应学院电子信息工程学院《C语言程序设计》课程教学大纲筛选题目整理而成的。
本习题集共分10章,提供了361道选择题,85道填空题,42道编程题,题集覆盖了《C语言程序设计》的全部内容,满足嘉应学院电子信息工程学院《C语言程序设计》考试大纲的要求。
寄语亲爱的同学们:很高兴你们学习计算机的语言—C语言,她将带你进入一个全新的计算机的世界。
我是你们的老师,但我更希望是你们的朋友,为你在学习C语言的道路上提供帮助。
同学们,“攻城不怕坚,攻书莫畏难。
科学有险阻,苦战能过关。
”,学习是辛苦的,但也充满了挑战和乐趣。
我希望你们在学习C语言时,带着希望出发,体会一路的艰辛,最后满载收获而回。
朋友们,学习向来没有什么捷径可寻。
“多看、多模仿、多操作”是我能给你们的唯一建议。
祝你们学业有成。
杨久红目录第一部分习题第1章C语言概述 (1)1.1选择题 (1)1.2填空题 (2)1.3编程题 (2)第2章数据的存储与运算 (3)2.1选择题 (3)2.2填空题 (6)2.3编程题 (7)第3章最简单的程序设计-顺序程序设计 (8)3.1选择题 (8)3.2填空题 (13)3.3编程题 (14)第4章选择结构程序设计 (15)4.1选择题 (15)4.2填空题 (19)4.3编程题 (20)第5章循环结构程序设计 (21)5.1选择题 (21)5.2填空题 (29)5.3编程题 (30)第6章利用数组处理批量数据 (32)6.1选择题 (32)6.2填空题 (37)6.3编程题 (38)第7章用函数实现模块化程序设计 (40)7.1选择题 (40)7.2填空题 (52)7.3编程题 (57)第8章善于使用指针 (58)8.1选择题 (58)8.2填空题 (70)8.3编程题 (71)第9章结构体 (72)9.1选择题 (72)9.2填空题 (73)9.3编程题 (74)第10章利用文件保存数据 (75)10.1选择题 (75)10.2填空题 (77)10.3编程题 (79)第二部分参考答案第1章C语言概述 (81)1.1选择题 (81)1.2填空题 (81)1.3编程题 (81)第2章数据的存储与运算 (81)2.1选择题 (81)2.2填空题 (82)2.3编程题 (82)第3章最简单的程序设计-顺序程序设计 (83)3.1选择题 (83)3.2填空题 (83)3.3编程题 (83)第4章选择结构程序设计 (84)4.1选择题 (84)4.2填空题 (85)4.3编程题 (85)第5章循环结构程序设计 (87)5.1选择题 (88)5.2填空题 (88)5.3编程题 (88)第6章利用数组处理批量数据 (95)6.1选择题 (95)6.2填空题 (95)6.3编程题 (95)第7章用函数实现模块化程序设计 (100)7.1选择题 (100)7.2填空题 (100)7.3编程题 (100)第8章善于使用指针 (104)8.1选择题 (104)8.2填空题 (104)8.3编程题 (104)第9章结构体 (106)9.1选择题 (106)9.2填空题 (106)9.3编程题 (106)第10章利用文件保存数据 (107)10.1选择题 (107)10.2填空题 (107)10.3编程题 (107)第一部分习题第1章C语言概述1.1选择题1.以下说法中正确的是( )。