



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-WORD格式 - 可编辑 -第一章 C 语言概述课后题一、选择题1、一个 C 语言程序总是从()。A、主过程开始执行B、主函数开始执行C、子程序开始执行D、主程序开始执行2、 C 语言能直接执行的程序是()。A、源程序B、汇编程序C、目标程序D、可执行程序3、以下叙述中正确的是()。A、C 语言程序中的注释部分可以出现在程序中任意合适的地方B、花括号“ ”和“”只能作为函数体的定界符C、构成 C 语言程序的基本组成单位是函数,所有函数名都可以由用户命名D、分号是C 语言语句之间的分隔符,不是语句的一部分4、以下选项中,不合法的C 语言程序函数体是()。A、 ;B、 C、 printf(“ c
2、omputer ” ); D、 int a=1;5、要把高级语言编写的源程序转换为目标程序,需要使用()。A、编辑程序B、驱动程序C、编译程序D、诊断程序二、填空题1、 C 语言程序的基本单位是()。2、C 语言源程序文件名的后缀是(),经过编译后生成的目标文件名的后缀是(),经过链接之后生成的可执-WORD格式 - 可编辑 -行文件名的后缀是()。3、计算机语言包括()、()和()。其中计算机能够直接识别的语言是(),()很接近人们习惯使用的自然语言和数学语言。4、按照结构化程序设计原则,常见的程序基本结构有()、()和()。5、循环结构包含()循环和()循环。三、简单题1、什么是程序?什么
3、是程序设计?2、解释源程序、目标程序和可执行程序的含义。3、写出 C 语言的特点。四、编程题1、参照本章例题,编写一个C 语言程序,输出以下信息:happy new year!2、参照本章例题,编写程序求两个数中的较小值。第二章 C 语言程序设计基础课后题一、选择题1、以下选项中,正确的整型数据是()。A、 1.2B、 -123C、 723 456D、 567 8902、下面字符常量的表达形式中正确的是()。A、“Z”B、“ C、1D、 378 3、ch 为字符型变量,执行语句“ch= C +5- 4 ; ”,将 ch 按字符类型输出的结果是()。A、 DB、68C、56-WORD格式 - 可
4、编辑 -D、不确定的值4、C 语言中要求运算对象必须是整型数据的运算符是()。A、+B、-C、 %D、 /5、变量 a 为整型、 b 为实型、 c 为双精度型、 d 为字符型,则表达式 a=a*b+d-c 的类型是()。A、整型B、实型C、双精度型D、字符型6、有以下定义语句,编译时会出现编译错误的是()。A、 char a= a ;B、 char a= n ;C、 char a= aa ;D、char a= x2d ;7、设有语句“ int a=3;”,执行语句printf(“%d %d”,a+1,a+);后输出的值是()。A、4 3B、3 4C、4 4D、3 3二、填空题1、在 C 语言中
5、(以16 位计算机为例) ,一个 char 型数据在内存中所占的字节数为(),其数值范围是();一个 int型数据在内存中所占的字节数为(),其数值范围是();一个 long 型数据在内存中所占的字节数为(),其数值范围是();一个 float型数据在内存中所占字节数为(),其数值范围是()。2、字符常量使用一对()界定单个字符,而字符串常量使用一对()来界定若干个字符的序列。3、设“ floatx=2.5;inta=7;floaty=4.7; ”,则表达式 x+a%3*-WORD格式 - 可编辑 -( int )( x+y) %2/4 的值为()。4、已知“ char a= a ,b= b
6、,c= c ,i;”,则表达式i=a+b+c 的值为() 。5、假设所有变量均为整型,则表达式( a=2,b=5,a+,b+,a+b)的值为()。6、若有定义“ int m=5,n=3;”,则表达式m/=n+4 的值是(),表达式 m=(m=1,n=2,n-m) 的值是(),表达式m+=m-=(m=1)*(n=2) 的值是()。三、简答题1、简述 a和” a”的区别。2、已知,“int m=12,m=15;”,为什么整型变量m的值在运算后不是当初的12,而是 15?3、将下面各数用八进制和十六进制数表示。十进制数:32 -1 -32768 2002 -128 0八进制数:十六进制数:4、写出以
7、下程序的运行结果int main()charc1=a ,c2= b ,c3= c ,c4= 101 ,c5= 116 ; printf( “ a%c b%ctc%ctabcn ” ,c1,c2,c3);printf(“ tb%c %c ” ,c4,c5);return 0;5、写出以下程序的运行结果。int main()int i,j,m,n;i=8;j=10;m=+i;n=j+;-WORD格式 - 可编辑 -printf(“ %d,%d,%d,%d” ,i,j,m,n);return 0;四、编程题已知“ int x=10,用 2;”,写出将x 和 y 的值相互交换的语句。测试一一、单项选择
8、题1、以下描述中正确的是()A、 C 语言程序的执行是从main 函数开始的,到程序的最后一个函数结束B、C 语言程序的执行是从第一个函数开始的,到程序的最后一个函数结束C、C 语言程序的执行是从main 函数开始的,到程序的main函数结束D、C 语言程序的执行是从第一个函数开始的,到程序的main函数结束2、若有语句“ char a;”,并要将字符a 赋给变量a,则下列赋值表达式正确的是()。A、 a=a ;B、 a=a ;C、a=” 97”;D、a= 97;3、若有语句“ int a=5;”,则执行语句“a+a*=10 ;”后, a的值是()。A、55B、 100C、60D、 1054、
9、设有“ intx=11;”,则表达式 ( x+*1/3 )的值是()。A、 3B、 4C、11-WORD格式 - 可编辑 -D、125、能正确表达逻辑关系“a>=10”或“ a<=0”的 C 语言表达式是()。A、 a>=10 or a<=0B、 a>=0 | a<=10C、 a>=10 && a<=0D、 a>=10 | a<=06、已有定义“ intx=3,y=4;”,则表达式 x>y&&y 的值是()A、 trueB、 0C、 falseD、 17、有如下语句,则当x=5 是, c 的值是(
10、)int c=5,x;scanf( “ %d” ,&x);switch(x+1)case 6:c+;case 8:c+;break;default:c+=3;printf(“%d” ,c);A、 6B、 7C、 8D、语法错误8、若有以下程序,则语句a=a+1 执行的次数是()int main()int x=1,a=1;doa=a+1;-WORD格式 - 可编辑 -while(x);return 0;A、 0B、 1C、无限次D、有限次9、以下程序的输出结果是()int main()int a33=1,2,3,4,5,6,i,j,s=0;for(i=1;i<3;i+)for(j=
11、0;j<=i;j+)s+=aij;printf(“ %dn” ,s);return 0;A、18B、19C、20D、2110、C 语言中,二维数组在内存中的存放顺序是()A、行优先B、列优先C、由编译系统决定D、由用户决定11、以下程序的输出结果是()int main()charch=1 , 2 , 0 , 3 , 4 , 0 ; printf( “%s” ,ch);return 0;-WORD格式 - 可编辑 -A、 1234B、 12034C、12D、有语法错误12、以下程序执行后输出的结果是()void f( int x,int y)int t;if(x<y)t=x;x=y;
12、y=t;int main()int a=4,b=3,c=5;f(a,b);f(a,c);f(b,c);printf(“ %d,%d,%dn” ,a,b,c);return 0;A、 3,4,5B、 5,3,4C、 5,4,3D、 4,3,513、执行如下程序段后,a 的值为()int *p,a=10,b=1;p=&a;a=*p+b;A、12B、11C、10D、编译出错14、以下程序执行后的输出结果是()int main()int x8=8,7,6,5,0,0,*s;-WORD格式 - 可编辑 -s=x+3;printf(“ %dn”,s2);return 0;A、随机值B、 0C、 5
13、D、 615、若要将text.txt文件打开用于追加信息,则以下格式正确的是()A、 fp=fopen( “ text.txt” , ” r ” );B、 fp=fopen(“ text.txt” , ” r+ ” );C、 fp=fopen(“ text.txt” , ” a+” );D、 fp=fopen( “ text.txt” , ” w” );16、有定义语句“double x , *p ;”,则以下表达式中正确的是( )A、 *p=&x;B、 p=x;C、 p=&x;D、 *p=x;17、下面程序的正确输出结果是()。(规定用U表示空格)int main()floa
14、t x=5.783,y=-10.2345;printf(“ x=%-8.2f,y=%-8.2fn”,x,y);return 0;A、 x=5.78UUUU,y=-10.23UUB、 x=5.78,y=-10.23C、5.78,-10.23D、 x=UUUU5.78,y=UU-10.2318、 sizeof(float)是()A、一个浮点表达式B、一个不合法的表达式-WORD格式 - 可编辑 -C、函数调用结果,是一个整型表达式D、一种函数调用19、下列数据中属于字符串常量的是()A、 AB、” ABC”C、 ABCD、 ABC20、用下面的scanf 函数输入数据,使得i=10,k=15 ,正
15、确的键盘输入方法是()(用 CR 表示回车, U 表示空格)int main()int i,k;scanf(“ i=%d,k=%d” ,&i,&k);return 0;A、i=10CRk=15CRB、 i=10,k=15CRC、10U15CRD、10,15CR二、判断题1、在一个C 语言程序中, main 函数必须出现在所有函数之前。()2、引用数组元素时,下标可以是整型常量或整型表达式。()3、预处理命令都必须以“#”开头。()4、函数的形参都属于全局变量。()5、静态( static)类型变量在函数调用结束后仍然存在。()6、函数定义可以嵌套,函数调用不可以嵌套。()7、字
16、符类型变量只能存储一个字符。()-WORD格式 - 可编辑 -8、从功能上讲, “ putchar(c);”等价与“ printf(“ %c”,c);”。()9、表达式 (7-1)*2!=10的值为 1。()10、实参向形参传递值可以是单向传递,也可以是双向传递。()三、填空题1、若从键盘输入58,则以下程序的输出结果是。int main()int a;scanf(“%d” ,&a);if(a>50) printf(“ %d” ,a);if(a>40) printf(“ %d” ,a);if(a>30) printf(“ %d” ,a);return 0;2、以下程序
17、的输出结果是。int main()int x=23;doprintf(“ %d”,x-);while(!x);return 0;3、将程序补充完整(要求,输入任意两个整数a 和 b,若 b不等于 0,则输出a/b 的值,结果保留两位小数)。#include<stdio.h>int main()int a,b;float c;-WORD格式 - 可编辑 -printf(“ input a,b:” );scanf( “ %d,%d” ,&a,&b);if()c=1.0*a/b;printf(“ %.2fn ” ,c);return 0;4、将程序补充完整(用for循环求
18、 1-100 的和)。#include<stdio.h>int main()int i,sum;for(;i<=100;i+)sum+=i;printf(“ %dn” ,sum);return 0;5、将程序补充完整(输入两个整数并求最大值)。#include<stdio.h>int main()int a,b,c;printf(“input two numbers:n” );scanf( “ %d,%d” ,&a,&b);c=;printf(“ max=%dn”,c);return 0;int max(int x,int y)int z;z=x&
19、gt;y?x:y;return z;-WORD格式 - 可编辑 -四、编程题1、用数组计算fibonacci数列的前20 个数,并按每行打印5 个数的格式输出。2、“百钱百鸡”问题是一个很经典的穷举问题。公元前5 世纪,我国古代数学家张丘建在算经中提出,鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、母、雏各几何?编程求解该问题。测试二一、单项选择题1、以下描述中正确的是()A、C 语言程序由过程和函数组成的B、 C 语言函数可以嵌套调用,例如:fun(fun(x)C、 C 语言函数不可以单独编译D、 C 语言中除了main 函数,其他函数不可以作为单独文件形式存在2、以下 C
20、语言用户标识符中,不合法的是()。A、_1B、 AaBcC、 a_bD、 a b3、若有定义“ double a=22 ; int i=0,k=18;”,则不符合C语言规定的赋值语句是()。A、 a=a+,i+;B、 i=(a+k)<=(i+k);C、 i=a%11;D、 i=!a;4、以下选项中,与“if(a=1)a=b;else a+;”语句功能不同的 switch语句是()。A、switch(a)case :a=b;break;default:a+;B、 switch(a=1)-WORD格式 - 可编辑 -case 0 :a=b;break;case1:a+;C、switch(a)
21、default:a+;break;case 1:a=b;D、 switch(a=1)case 1:a=b;break;case 0:a+;5、有以下程序段,为避免此程序段陷入死循环,从键盘输入的数据应该是 ( )。int n,t=1,s=0;scanf( “ %d” ,&n);dos=s+t;t=t-2;while(t!=n);A、任意正奇数B、任意负偶数C、任意负奇数D、任意正偶数6、以下程序运行后的输出结果是()#include<stdio.h>int main()int i,j,m=1;for(i=1;i<3;i+)-WORD格式 - 可编辑 -for(j=3;
22、j>0;j-)if(i*j)>3)break;m*=i*j;printf(“ m=%dn” ,m);return 0;A、 m=6B、 m=2C、 m=4D、 m=57、以下程序运行后的输出结果是()#include<stdio.h>int main()int a=1,b=2;for(;a<=8;a+)b+=a;a+=2;printf(“ %d,%dn” ,a,b);return 0;A、 9,18B、 8,11C、 7,11D、 10,148、以下关于 return 语句的叙述中正确的是 ( ) A、一个自定义函数中必须有一条 return 语句B、一个自定义函
23、数中可以根据不同情况设置多条return语句C、定义成 void 类型的函数中可以有带返回值的return语-WORD格式 - 可编辑 -句D、没有 return语句的自定义函数在执行结束时不能返回到调用处9、下列选项中,能正确定义数组的语句是()A、 int num0.2008;B、 int num;C、int N=2008;int numN;D、 #define N 2008int numN;10、若有定义 “ int ( *pt )3;”,则下列说法正确的是 ()A、定义了基类型为int的 3 个指针变量B、定义了基类型为int的具有 3 个元素的指针数组ptC、定义了一个名为*pt 、
24、具有 3 个元素的整型数组D、定义了一个名为pt 的指针变量,它可以指向每行有3 个整型元素的二维数组11、以下程序运行后的输出结果是()#include<stdio.h>int main()int a5=1,2,3,4,5,b5=0,2,1,3,0,i,s=0; for(i=0;i<5;i+)s=s+abi;printf(“ %dn” ,s);return 0;A、 6B、10C、11D、1512、以下程序执行后输出的结果是()#include<stdio.h>#define SUB(a) (a)-(a)int main()-WORD格式 - 可编辑 -int
25、a=2,b=3,c=5,d;d=SUB(a+b)*c;printf(“ %dn” ,d);return 0;A、 0B、 -12C、 -20D、1013、 14、以下程序执行后的输出结果是()#include<stdio.h>int main()int a=2,b=2,c=2;printf(“ %dn” ,a/b&c);return 0;A、 0B、 1C、 2D、 314、设有定义“ int a=1,b=2,c=3;”,以下语句中,执行效果与其他3 个不同的是()A、 if(a>b)c=a,a=b,b=c;B、 if(a>b)c=a,a=b;b=c;C、 if
26、(a>b)c=a;a=b;b=c;D、 if(a>b)c=a;a=b;b=c;15、以下程序运行后的输出结果是()#include<stdio.h>int main()int c=0,k;for(k=1;k<3;k+)-WORD格式 - 可编辑 -switch(k) default:c+=k; case 2:c+;break;case 4:c+=2;break;printf(“ %dn” ,c);return 0;A、 3B、 5C、 7D、 916、以下程序的输出结果是()int main()int a10=1,2,3,4,5,6,7,8,9,10,*p=a;
27、printf( “ %d,%dn” ,*(p+2),*p+9);return 0;A、 3,10B、 4,1C、 1,10D、 2,917、下面程序的正确输出结果是()。int main()char str5=” ABCD” ,*p=str;printf(“ %dn”,*(p+4);return 0;A、68B、 DC、 0-WORD格式 - 可编辑 -D、 018、下面各语句中,能正确进行字符串初始化操作的语句是()A、char s15=“ABCDE”;B、char s26= A, B , C , D , E;C、 char st=“ ABCDE” ;D、 char s5=A , B , C
28、, D , E ;19、若有说明“ int a34=0;”,则下面正确的叙述是()A、数组 a 中每个元素均可得到初值0B、只有元素a00可得到初值0C、数组 a 中各个元素都可以得到初值,但其值不一定是 0 D、此说明语句不正确20、若有说明“ int a34;”,则对数组a 中元素的非法引用是()A、 a13B、 a04C、a02*1D、a4-20二、判断题1、 break 是结束本次循环,而continue是结束所有的循环()2、在 C 语言中,变量不区分大小写。()3、不同的函数中可以使用相同的变量名。()4、形式参数是局部变量。()5、若用数组名作为函数的实参,传递给形参的是数组第一个元素的值。()6、 C 语言是低级语言。()7、在 C 语言中,每个函数都必须要有一个且只有一个main函数。()-WORD格式 - 可编辑 -8、在 C 语言中,整型常数表示的方法有3 种。()9、定义一个静态变量时没有必要对它进行初始化。()10、假如 x 和 y 为 double 型,则表达式“x=2;y=x+3/2 ”;的值是 3。()三、填空题1、以下程序的运行结果是。#includ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育指标转让协议书
- 民间融资居间协议书
- 旅游分期贷款协议书
- 扶贫资产交接协议书
- 杭州招商投资协议书
- 无偿转让场地协议书
- 油枪气缸技术协议书
- 机关单位结对协议书
- 支部联建签约协议书
- 校园搭建车棚协议书
- 2025年北京市房山区九年级初三一模数学试卷(含答案)
- 高层小区安全培训
- 2024年广州市番禺区教育局招聘事业编制教师笔试真题
- 2025-2030年中国电加热蓄热系统项目投资可行性研究分析报告
- 国家电网招聘(其他工学类)考试题库
- 房地产市场报告 -2025年第一季度大连写字楼和零售物业市场报告
- 2025年山西省中考一模语文试题(原卷版+解析版)
- 农村三资管理课件
- 2025五级应急救援员职业技能精练考试题库及答案(浓缩400题)
- 高职高专教育英语课程教学基本要求A级-附表四
- 敏捷跨文化团队协作-全面剖析
评论
0/150
提交评论