没有合适的资源?快使用搜索试试~ 我知道了~
首页全国计算机二级C语言考前重点复习:结构与构成
该文档是针对全国计算机等级考试二级C语言的考前复习资料,主要聚焦于笔试部分,包含C语言的基础知识和程序设计要点。以下是部分内容的详细解读: 1. C语言程序设计基础: - 知识点:C语言的结构化编程 - C语言支持三种基本结构:顺序结构(按照代码执行的逻辑顺序)、选择结构(if-else语句)、循环结构(for、while等)。结构化编程强调使用这些结构构建程序,而不是依赖goto语句,选项A错误,C正确。 - 程序执行方式 - 高级语言如C需经过编译或解释转化为机器语言执行。C语言程序只能编译执行,选项B和C错误,A正确。 - C程序的构成 - C程序以函数为基础,每个程序至少包含一个main函数作为入口点。函数由函数头和函数体组成,函数体内部有声明和执行部分。选项B和D中的描述体现了正确的C函数特性。 2. C语言程序的构成细节: - 函数的嵌套调用 - C语言允许函数嵌套调用,函数fun可以在另一个函数fun中被调用,选项B正确。 - 函数的编译和独立性 - 函数可以单独编译和作为独立文件存在,选项C错误。函数可以有自己的.c文件,选项A和B正确。 通过对这些知识点的掌握,考生需要理解C语言的语法结构、程序组织方式以及编译执行流程。复习时,可以通过做类似题目来检验对概念的理解,并通过模拟考试环境进行实战练习,提高解题能力和应试技巧。在准备考试时,不仅要熟悉理论知识,还要注重实践经验的积累,这对理解和应用C语言至关重要。
资源详情
资源推荐
【解析】k1>k2 为假,因此 k1= k1>k2 结果 0,逻辑与左边表达式为假,右边表达
式不再处理,因此 k1 结果为 0,k2 不变,仍为 20
例 2:int a=2;则表达式(!a==1)&&(a++==2)的值为 0,a 的值为 2。
【解析】!a 为 0,!a==1 的值为 0,&&左边的值为 0,则不再对右边的运算对象进
行运算,所以 a 的值为 2。
若||左边的运算对象的值为 1,则不再对右边的运算对象进行运算,整个表达
式的值为 1。
例 2:(2010-03-17)若 a 是数值类型,则逻辑表达式(a==1)||(a!=1)的值是(A)
A)1 B)0 C)2 D)不知道 a 的值,不能确定
【解析】a 的值有两种情况:a 等于 1 或 a 不等于 1。故逻辑表达式(a==1)||(a!=1)的
值为 1。
18.知识点:格式输入函数 printf()
(1)一般形式:printf(“格式控制字符串”,输出列表);
(2)遇到控制字符,按照控制字符的规定输出,遇到非格式字符串按原样输出。
例 1:(2009-04-07)若变量 x,y 已定义为 int 类型且 x 的值为 99,y 的值为 9,请将
输出语句 printf(“ x/y=%d ”,x/y);补充完整,使其输出的计算结果形式为:
x/y=11。
例 2:(2009-04-15)程序段:int x=12;double y=3.141593;printf(“%d%8.6f”,x,y);的
输出结果是(A)
A)123.141593 B)12 3.141593 C)12,3.141593 D)123.1415930
【解析】以%8.6f 格式输出,即输出的总宽度为 8,小数的位数为 6。
19.知识点:格式输入函数 scanf()
(1)一般形式:scanf(“格式控制字符串”,地址列表);
(2)若格式控制字符串中有非格式字符串,则按原样输入。若格式控制字符串中
没有非格式字符作输入数据之间的间隔,则可用空格、Tab、回车作间隔。
例 1:(2011-09-16)若有定义:int a,b;,通过语句 scanf(“%d;%d”,&a,&b);,能把整数
3 赋给变量 a,5 付给变量 b 的输入数据是
A.3 5 B.3,5 C.3;5 D.35
【解析】scanf 格式字符串中两个%d 之间带有非格式字符分号,运行时应原样输入。
例 1:(2005-04-19)有以下程序
main()
{int m,n,p;
scanf(“m=%dn=%dp=%d”,&m,&n,&p);
printf(“%d%d%d\n”,m,n,p);
}若想从键盘上输入数据,使变量 m 中的值为 123,n 中的值为 456,p 中的值为
789,则正确的输入是(A)
A)m=123n=456p=789 B)m=123 n=456 p=789
C)m=123,n=456,p=789 D)123 456 789
【解析】scanf(“m=%dn=%dp=%d”,&m,&n,&p); 格式控制字符串中有非格式字符串,
则按原样输入,故答案是 A。
例 2:(2011-03-26)有以下程序段
char name[20];
int num;
scanf("name=%s num=%d",name;&num);
当执行上述程序,并从键盘输入:name=Lili num=1001<回车>后,name 的值(A)
A)Lili B)name=Lili C)Lili num= D)name=Lili num=1001
【解析】scanf 中格式字符串的非格式字符串原样输入,如其中的‘name=’和
‘num=’,所以接受到的 name 值是后面的 Lili,num 值为 1001。故选 A。
(3)在输入字符数据时,若格式控制字符串中无非格式字符,则认为所有输入的
字符均为有效字符。空格会被当作字符赋值给变量。
例 3:(2009-04-23)有以下程序
#include <stdio.h>
main()
{int a1,a2; char c1,c2;
scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);
printf(“%d,%c,%d,%c”,a1,c1,a2,c2);
}若想通过键盘输入,使得 a1 的值为 12,a2 的值为 34,c1 的值为字符 a,c2 的值
为字符 b,程序输出结果是:12,a,34,b 则正确的输入格式是(以下_代表空格,
<CR>代表回车)
A)12a34b<CR> B)12_a_34_b<CR> C)12,a,34,b<CR> D)12_a34_b<CR>
【解析】空格会被当作字符赋值给变量,故 B、D 错误;C 项中逗号会被当作字符
赋值给变量,故 C 项错误。
(4)格式字符串
一般形式:%[*][输入数据宽度][长度]类型
*表示该输入项,读入后不赋予相应的变量。
输入数据宽度:用十进制数指定输入的字符数。
例 4:(2010-09-07)有以下程序
#include <stdio.h>
main()
{int x,y;
scanf(“%2d%ld”,&x,&y); printf(“%d\n”x+y);
}程序运行时输入:1234567 程序的运行结果是 34579 。
【解析】%2d 输入的数据宽度为 2,x 的值为 12,y 的值为 34567,x+y=34579。
例 5:(2009-04-16)若有定义语句:double x,y,*px,*py;执行了 px=&x;py=&y;
之后,正确的输入语句是(C)
A) scanf(“%f%f”,x,y); B)scanf(“%f%f”,&x,&y);
C)scanf(“%lf%le”,px,py); D)scanf(“%lf%lf”,x,y);
【解析】A、D 项地址列表,应为&x,&y;x、y 为 double 型,格式控制字符串不是
%f%f,故 B 项错误。
当定义的变量类型和 scanf 中“格式符”类型不一致时(这里只限定在字符型
和整型两种类型,其他数据类型不可以。)整型和字符型之间通过 ASCALL 可
以相互转化。
例 6:(2011-03-12)有以下程序 (说明:字符 0 的 ASCII 码值为 48)
main()
{ char c1,c2;
scanf("%d",&c1);
c2=c1+9;
printf("%c%c\n",c1,c2);
}若程序运行时从键盘输入 48<回车>,则输出结果为 (09)。
【解析】输入 48,则 c1=48,c2=48+9,以字符输出 c1 和 c2,则为输出 ASCII 码
为 48 和 57 对应的字符,分别为 0 和 9。
20.知识点:字符输出函数 putchar()
一般形式:putchar(‘a’);putchar(‘\101’);
21.知识点:字符输入函数 getchar()
一般形式:getchar();或 ch=getchar();
例 1:(2010-03-15)有以下程序
#include <stdio.h>
main()
{char a,b,c,d;
scanf(“%c%c”,&a,&b);
c=getchar(); d=getchar();
printf(“%c%c%c%c\n”,a,b,c,d);
}当执行程序时,按下列方式输入数据(从第 1 列开始,<CR>代表回车,注意:回
车也是一个字符)
12<CR>
34<CR>
则输出结果是(B)
A)1234 B)12 C)12 D)12
3 34
【解析】以%c 格式读取一个字符,以 getchar()形式也是读取一个字符。空格会被
当作字符赋值给变量。所以,a=’1’,b=’2‘,c=’\n’,d=’3‘。
getchar 经常作为 while 循环条件,判断输入哪一个字符时,循环结束。例如,
输入字符串,直到输入‘0’,程序结束,则可写成 while( getchar()!='0')
例 2:(2011-03-26)有以下程序段
main()
{ …
while( getchar()!='\n');
…
}以下叙述中正确的是(C)
A)此 while 语句将无限循环
B) getchar()不可以出现在 while 语句的条件表达式中
C)当执行此 while 语句时,只有按回车键程序才能继续执行
D)当执行此 while 语句时,按任意键程序就能继续执行
【解析】while 条件表达式 getchar()!='\n'只要输入的字符不是回车,就一直执行循
环,而循环内是一个空语句,所以按回车键程序才能继续执行,选择 C。
第二课 选择结构与循环结构
剩余52页未读,继续阅读
智慧安全方案
- 粉丝: 3789
- 资源: 59万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 前端面试必问:真实项目经验大揭秘
- 永磁同步电机二阶自抗扰神经网络控制技术与实践
- 基于HAL库的LoRa通讯与SHT30温湿度测量项目
- avaWeb-mast推荐系统开发实战指南
- 慧鱼SolidWorks零件模型库:设计与创新的强大工具
- MATLAB实现稀疏傅里叶变换(SFFT)代码及测试
- ChatGPT联网模式亮相,体验智能压缩技术.zip
- 掌握进程保护的HOOK API技术
- 基于.Net的日用品网站开发:设计、实现与分析
- MyBatis-Spring 1.3.2版本下载指南
- 开源全能媒体播放器:小戴媒体播放器2 5.1-3
- 华为eNSP参考文档:DHCP与VRP操作指南
- SpringMyBatis实现疫苗接种预约系统
- VHDL实现倒车雷达系统源码免费提供
- 掌握软件测评师考试要点:历年真题解析
- 轻松下载微信视频号内容的新工具介绍
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功