江苏省C语言考试第二课时
江苏省C语言考试第二课时
第二次课基本语句和选择结构课时:4第三部分基本语句试题分析:本部分内容涉及考点较少,重点掌握scanf语句和printf语句的格式使用。
重点内容:3.1 表达式语句,空语句,复合语句1 表达式语句:由各类表达式加;构成。
表达式包括:算术表达式、赋值表达式、逗号表达式等。
举例:a=b+2; //赋值表达式i++;//算术表达式2 空语句:只有一个;表示的语句。
举例:main(){ ;}3 复合语句:用花括号括起来的语句。
举例:{a++;b++;printf(“%d%d\n”,a,b);}3.2 输入输出函数的调用,正确输入数据并正确设计输出格式1 printf函数(输出函数)★printf一般格式:printf(格式控制,输出项1,输出项2,……);举例:pirntf(“a=%d,b=%d”,a,b); //输出整型变量a和b,如果a为10,b为8,输出结果为:★printf函数中常用格式说明%后跟输出变量对应的格式字符,d表示十进制整型,f表示浮点数,c表示输出一个字符,s表示输出字符串。
%后先跟数字再跟格式字符,表示输出值的宽度,举例:pirntf(“a=%5d”,a); //输出变量a,宽度为5,输出结果如下:2 scanf函数(输入函数)★scanf函数的一般调用形式scanf(格式控制,输入项1,输入项2,……);,举例:int k;float a;double y;scanf(“%d%f%lf”,&k,&a,&y); //用于从键盘输入三个变量值%后跟格式字符,包括:c输入一个字符,d输入十进制数,f单精度,lf双精度,o八进制,x十六进制。
★scanf函数输入数据(常考)考点一:跳过某个输入数据int x,y,z;scanf(“%d%*d%d%d”,&x,&y,&z);如果输入:12 34 56 78<回车>x为12,y为56,z为78考点二:插入其他字符scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);正确输入:a=10,b=20.c=30a为10,b为20,c为30考点三:不同数据类型输入int x;char y;int z;scanf(“%d%c%d”,&x,&y,&z);正确输入:12a23 //不可输入12 a 23x为12,y为a,z为23考点四:指定输入数据所占的宽度scanf(“%3d%5f%5le”,&k,&a,&y);如果输入:123456.789.123k为123,a为456.7,y为89.12真题解析:一、选择题(1)若有定义:int a,b;,通过语句scanf(“%d;%d”,&a,&b);,能把整数3赋给变量a,5付给变量b的输入数据是()(2011年9月选择题16题)A)3 5 B)3,5 C)3;5 D)35答案:C解析:本题考查scanf函数输入格式控制,本题在格式控制里插入其他符号;,所以在输入时需要在两个数之间加入;。
江苏省计算机二级C语言真题及答案
2009年春季江苏省高校计算机等级考试考试试题第一部分计算机基础知识1. 在下列有关现代信息技术的一些叙述中,正确的是 1 。
A.集成电路是20世纪90年代初出现的,它的出现直接导致了微型计算机的诞生B.集成电路的集成度越来越高,目前集成度最高的已包含几百个电子元件C.目前所有数字通信均不再需要使用调制解调技术和载波技术D.光纤主要用于数字通信,它采用波分多路复用技术以增大信道容量‘.2. 最大的10位无符号二进制整数转换成八进制数是 2 .。
A.1023B.1777C.1000D.10243. 在下列有关目前PC机CPU的叙述中,错误的是 3 。
A.CPU芯片主要是由Intel公司和AMD公司提供的B."双核"是指PC机主板上含有两个独立的CPU芯片C.Pentium 4微处理器的指令系统由数百条指令组成D.Pentium 4微处理器中包含一定容量的Cache存储器4. 在下列有关当前PC机主板和内存的叙述中,正确的是 4 。
A.主板上的BIOS芯片是一种只读存储器,其内容不可在线改写B.绝大多数主板上仅有一个内存插座,因此PC机只能安装一根内存条C.内存条上的存储器芯片属于SRAM(静态随机存取存储器)D.目前内存的存取时间大多在几个到十几个ns(纳秒)之间5. 在下列有关PC机辅助存储器的叙述中,正确的是 5 。
A.硬盘的内部传输速率远远大于外部传输速率B.对于光盘刻录机来说,其刻录信息的速度一般小于读取信息的速度C.使用USB 2.0接口的移动硬盘,其数据传输速率大约为每秒数百兆字节D.CD-ROM的数据传输速率一般比USB 2.0还快6. 在下列PC机I/O接口中,数据传输速率最快的是 6 。
B 2.0B.IEEE-1394C.IrDA (红外)D.SATA7. 计算机软件可以分为商品软件、共享软件和自由软件等类型。
在下列相关叙述中,错误的是7 。
A.通常用户需要付费才能得到商品软件的使用权,但这类软件的升级总是免费的B.共享软件通常是一种"买前免费试用"的具有版权的软件C.自由软件的原则是用户可共享,并允许拷贝和自由传播D.软件许可证是一种法律合同,它确定了用户对软件的使用权限8. 人们通常将计算机软件划分为系统软件和应用软件。
江苏省计算机二级(C语言)
printf(“%s”,colorname[c1-c2]); }
White
例11:
以下程序运行后输出到屏幕的结果是:
#include<stdio.h> void fun(char *p1,char *p2); void main() {int i; char a[]="54321"; puts(a+2); fun(a,a+4); puts(a);} void fun(char *p1,char *p2) {char t; while(p1<p2) {t=*p1;*p1=*p2;*p2=t; p1+=2,p2-=令的叙述中错误的是 A. 预处理命令由预处理程序解释。 C B. 程序中的预处理命令是以#开始的。 C. 若在程序的一行中出现多条预处理命令,这 些命令都是有效的。 D. 预处理命令既可以出现在函数定义的外部, 也可以出现在函数体内部。
例6:
下列关于文件的叙述中正确的是: B A.C语言中的文件是流式文件,因此只能顺序存 取文件中的数据。 B.调用fopen函数时若用"r"或"r+"模式打开一个 文件,该文件必须在指定存储位置或默认存储位置 处存在。 C.当对文件进行了写操作后,必须先关闭该文件 然后再打开,才能读到该文件中的第1个数据。 D.无论以何种模式打开一个已存在的文件,在进 行了写操作后,原有文件中的全部数据必定被覆盖。
数组与指针。
函数的定义与调用。(递归) 不同的变量。(动态变量与静态变量,全局变
量与局部变量) 预处理命令。(宏与文件包含) 字符串。(以字符数组形式表示与以字符指针 形式表示) 结构体与链表。 共用体与枚举类型。 文件系统与其应用。
江苏省计算机二级c语言机考试题及答案
江苏省计算机二级c语言机考试题及答案一、选择题1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言是一种面向过程的语言C. C语言源于B语言D. C语言是一种解释型语言答案:D. C语言是一种解释型语言2. 在C语言中,可以用于定义宏的命令是:A. #ifB. #defineC. #includeD. #endif答案:B. #define3. 在C语言中,标识符的命名规则中,不允许使用的符号是:A. 下划线(_)B. 感叹号(!)C. 加号(+)D. 美元符号($)答案:B. 感叹号(!)4. C语言中的运算符中,以下优先级最高的是:A. 关系运算符B. 逻辑运算符C. 赋值运算符D. 算术运算符答案:C. 赋值运算符5. 下列程序中,有语法错误的是:A.```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```B.```c#include <stdio.h>int main() {printf("Hello, World!\n") return 0;}```C.```c#include <stdio.h>int main() {printf("Hello, World!\n"); return;}```D.```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;```答案:B.```c#include <stdio.h>int main() {printf("Hello, World!\n")return 0;}```二、填空题1. 下列程序的输出结果是______:```c#include <stdio.h>int main() {int a = 5;printf("%d", a++);printf("%d", ++a);return 0;}```答案:562. 下列程序的输出结果是______:```c#include <stdio.h>int main() {int a = 2;int b = 3;int c = a | b;int d = a & b;printf("%d\n", c);printf("%d\n", d);return 0;}```答案:3, 2三、编程题编写一个程序,输出1~100之间所有能同时被3和5整除的数,并计算这些数的平均值。
江苏省计算机二级C语言试题及答案
江苏省计算机二级C语言试题笔试_试卷试题及答案1.下面关于比特的叙述中,错误的是( 1 ) A.比特是组成数字信息的最小单位B.比特只有“O”和“1”两个符号C.比特既可以表示数值和文字,也可以表示图像和声音D. 比特”1”总是大于比特“0”2.在下列有关集成电路的叙述中,错误的是( 2 )A.现代集成电路使用的半导体材料主要是硅B.大觑模集成电路一般以功能部件、子系统为集成对象C.我国第2代居民身份证中包含有IC芯片D•目前超大规模集成电路中晶体管的基本线条已小到l 纳米左右3.在下列有关通信技术的叙述中,错误的是( 3 )A.通信的基本任务是传递信息,因而至少需由信源、信宿和信道组成B.通信可分为模拟通信和数字通信,计算机网络属于模拟通信C.在通信系统中,采用多路复用技术的目的主要是提高传输线路龟利用率D学校的计算机机房一般采甩5类无屏蔽双绞线作为局域网的传输介质4.下面是关于PC机主存储器的一些叙述,其中正确的是( 4 )A.主存储器是一种动态随机存取存储器(RAM)B.主存储器的基本编址单位是字(即32个二进位)C.目前市场上销售的PC机,其内存容量可达数十GBD.所有PC机的内存条都是通用的:可以互换5.现行PC机中,IDE(或SATA)接口标准主要用于( 5 )A.打印机与主机的连接c.声卡与主机的连接B.显示器与主机的连接D.硬盘与主机的连接6. 下列有关PC机的CPU、内存和主板的叙述中,正确的是( 6 ) 。
A.大多数Pc机只存一块CPu芯片,即使是“双核”CPU也是一块芯片B.所有Pentium系列微机的内存条相同,仅有速度和容量大小之分C.主板上芯片组的作用是提供存储器控制功能,I/O 控制与芯片组无关D.主板上CMOS芯片用于存储CMOS设置程序和一些软硬件设置信息7.下列有关目前Pc机辅助存储器的叙述中,错误的是( 7 )A.硬盘的容量越来越大,这是因为硬盘中磁盘碟片的数目越来越多B.硬盘的内部传输速率一般小于外部传输速率c.优盘采用Flash存储器技术,属于半导体存储器D.目前常见COMBO光驱是一种将CD-RW和DVD-ROM 组合在一起的光驱8.下面有关Windows操作系统,(95以后版本)的叙述中,错误的是( 8 ) 。
江苏省计算机等级考试二级c语言笔试辅导PPT课件
– C语言 选择题(10分) 填空题(30分):简单填空(5分) 阅读程序(13分) 完善程序(12分)
• 答题策略
3 3
语法考试要求及考题解析
(2007秋~2010春)
1. C语言基本概念
⑴ 源程序格式、风格和结构。main函数特性。C程序保存。
注释位置。
【考题解析】
。
A.必须在最开始
B.必须在最后
C.必须在预处理命令的后面
D.可以在其他函数之前或之后
答案:D
[单选题] 下列叙述中正确的是
。
A. main函数必须出现在其他函数之前
B. main函数中至少必须有一条语句
C. C程序总是从main函数的第一条语句开始执行
D. C程序总是在执行完main函数的最后一条语句后结束
⑥ 基本类型变量的声明、初始化, 直接引用变量
【考题解析】
[单选题] 在C语言源程序中,不带任何修饰符的浮点数直接量 (例如:3.14)都是按 类型数据存储的。
答案: double
[单选题]已知sizeof(int)的值为2,为将10!的值存储到变量f中
(10!=3628800),变量f的类型应声明为
答案:D
11 11
⑶ 运算符和表达式的表示及使用
① 赋值表达式,赋值运算符的左值要求
② 算术表达式。++、--运算符左值要求。溢出。
③ 关系表达式与逻辑表达式,逻辑表达式优化处理
④ 逗号表达式
⑤ 条件表达式
⑥ 表达式运算中操作数类型自动转换与强制转换
【考题解析】
[单选题] 若有声明“double x=3,c,*a=&x,*b=&c;”,则下列语
江苏省计算机二级C语言试题与答案(笔试)汇总
2010年春江苏省计算机等级二级C考试试题第一部分计算机基础知识1.下面关于通信技术的叙述中,错误的是_d__1___ 。
A.任何一个通信系统都有信源、信道和信宿这三个基本组成部分,B.为了实现远距离传输信息,在模拟通信和数字通信中均采用载波技术C.为了降低传输信息的成本,在通信中广泛采用多路复用技术D.数字通信系统的一个主要性能参数是信道带宽,它指实际进行数据传输时单位时间内传输的二进位数目2.在下列有关集成电路及其应用的叙述中,错误的是__B_2___ 。
信道能通过的频带宽叫带宽A.集成电路的制造工序繁多,工艺复杂且技术难度高B.经过抛光后的硅片称为晶圆是硅抛光片,每个晶圆最多可以制成一个合格的集成电路芯片C.IC卡分为接触式IC卡和非接触式IC卡,后者通常又称为射频卡或感应卡D.集成电路应用十分广泛,目前我国第2代居民身份证中就有集成电路芯片3.在下列有关数字技术的一些叙述中,错误的是____C_3_____ 。
A.数字技术是采用有限个状态(例如"0"和"1")来表示、处理、存储和传输信息的B.在逻辑代数中,1与1进行逻辑加(V)和逻辑乘(^)的结果相同C.任何一个十进制数,均可以精确地转换成等值的二进制数D.在PC机中,通常用原码表示正整数、用补码表示负整数4.在下列有关PC机主机的叙述中,错误的是___B4___ 。
A.BIOS和CMOS存储器安装在主板上,普通用户一般不能自己更换B.由于PC机主板的物理尺寸等没有标准化,所以不同PC机的主板均不能互换C.芯片组是PC机各组成部分相互连接和通信的枢纽,一般由2块VLSI芯片组成D.芯片组决定了主板上所能安装的内存最大容量、速度及可使用的内存条类型5.在下列4个Intel微处理器产品中,采用双核结构的是____D_5_ A____ 。
A. Core 2 Duo B.Pentium PRO C.Pentium III D.Pentium 4 奔腾4不是6.在下列四种PC机主存储器类型中,目前常用的是_____6D_ ____ 。
江苏省计算机c语言等级考试试题及答案
江苏省计算机c语言等级考试试题及答案一、选择题(每题2分,共40分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的合法标识符?A. _123B. mainC. 2variableD. int答案:C3. C语言中,用于声明一个整型数组的语句是:A. int a[10];B. int [10] a;C. int a[];D. int a=10;答案:A4. C语言中,以下哪个函数用于计算字符串的长度?A. strlen()C. strcat()D. strcmp()答案:A5. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. <=D. %答案:A7. 在C语言中,以下哪个关键字用于定义一个函数?A. structB. unionC. enumD. void答案:D8. C语言中,以下哪个函数用于将字符串复制到另一个字符串?B. strcat()C. strcmp()D. strlen()答案:A9. 在C语言中,以下哪个关键字用于声明一个变量为静态存储类别?A. staticB. externC. autoD. register答案:A10. C语言中,以下哪个关键字用于定义一个枚举类型?A. structB. unionC. enumD. typedef答案:C二、填空题(每题2分,共20分)1. 在C语言中,声明一个字符型变量的语句是___________。
答案:char c;2. C语言中,用于输入输出的库函数是___________。
答案:stdio.h3. 在C语言中,用于定义一个指针变量的语句是___________。
答案:int *p;4. C语言中,用于定义一个二维数组的语句是___________。
2012年10月14日江苏省高校计算机等级考试二级C语言上机题(C02)及其解答_张柏雄
【上机题命题评述】2012年10月14日C01套编程试题是求三位数的水仙花数及其反序数分别存入数组a和b。
为本作者于2011年6月15日在豆丁网上发布的“★预测江苏省计算机C语言等级考试的八道上机编程题_张柏雄.doc”的第六题“六、水仙花数题”,阅者可参考该文。
2012年10月14日C02套编程试题是求反素数,比较简单。
网上对反素数定义为:定义之一:对于任何正整数x,其约数的个数记做g(x).例如g(1)=1,g(6)=4.如果某个正整数x满足:对于任意i(0<i<x),都有g(i)<g(x),则称x为反素数。
.本编程题即以此为据。
定义之二就认为是绝对素数。
例如17和71等江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试上机试卷(2012秋)二级C语言(试卷代号C02)(本试卷完成时间70分钟)一、改错题(16分)【程序功能】string数组内存放了若干个字符串,以下程序从中找出最长的字符串(如果有多个长度相同且为最长的字符串,则约定第一个为最长的字符串),并在该字符串中的每个数字字符前插入一个空格。
例如,如果string数组中的字符串为“A1B23CD45”、“EF2G34”、“ER45DF678”、“985GHJ211FGH”,则最长的字符串为“985GHJ211FGH”,插入空格后该字符串变为“ 9 8 5G HJ 2 1 1FGH”。
函数maxstr的功能是在存放于ss数组中的m个字符串中查找最长的字符串,函数返回最长字符串所在的数组行的行下标。
函数insert的功能是在str数组中所存放的字符串内每个数字字符前插入一个空格。
【测试数据与运行结果】测试数据:“A1B23CD45”、“EF2G34”、“ER45DF678”、“985GHJ211FGH”屏幕输出:The maxstring: 985GHJ211FGHThe changestring:9 8 5G HJ 2 1 1FGH【含有错误的源程序】以下源程序已保存在T盘myf1.c文件内,考生可直接打开该文件测试程序。
历年江苏省计算机二级C语言历年真题及答案(笔试).docx.doc
2009年春季江苏省高校计算机等级考试考试试题第一部分计算机基础知识1. 在下列有关现代信息技术的一些叙述中,正确的是 1 。
A.集成电路是20世纪90年代初出现的,它的出现直接导致了微型计算机的诞生B.集成电路的集成度越来越高,目前集成度最高的已包含几百个电子元件C.目前所有数字通信均不再需要使用调制解调技术和载波技术D.光纤主要用于数字通信,它采用波分多路复用技术以增大信道容量‘.2. 最大的10位无符号二进制整数转换成八进制数是 2 .。
A.1023B.1777C.1000D.10243. 在下列有关目前PC机CPU的叙述中,错误的是 3 。
A.CPU芯片主要是由Intel公司和AMD公司提供的B."双核"是指PC机主板上含有两个独立的CPU芯片C.Pentium 4微处理器的指令系统由数百条指令组成D.Pentium 4微处理器中包含一定容量的Cache存储器4. 在下列有关当前PC机主板和内存的叙述中,正确的是 4 。
A.主板上的BIOS芯片是一种只读存储器,其内容不可在线改写B.绝大多数主板上仅有一个内存插座,因此PC机只能安装一根内存条C.内存条上的存储器芯片属于SRAM(静态随机存取存储器)D.目前内存的存取时间大多在几个到十几个ns(纳秒)之间5. 在下列有关PC机辅助存储器的叙述中,正确的是 5 。
A.硬盘的内部传输速率远远大于外部传输速率B.对于光盘刻录机来说,其刻录信息的速度一般小于读取信息的速度C.使用USB 2.0接口的移动硬盘,其数据传输速率大约为每秒数百兆字节D.CD-ROM的数据传输速率一般比USB 2.0还快6. 在下列PC机I/O接口中,数据传输速率最快的是 6 。
B 2.0B.IEEE-1394C.IrDA (红外)D.SATA7. 计算机软件可以分为商品软件、共享软件和自由软件等类型。
在下列相关叙述中,错误的是7 。
A.通常用户需要付费才能得到商品软件的使用权,但这类软件的升级总是免费的B.共享软件通常是一种"买前免费试用"的具有版权的软件C.自由软件的原则是用户可共享,并允许拷贝和自由传播D.软件许可证是一种法律合同,它确定了用户对软件的使用权限8. 人们通常将计算机软件划分为系统软件和应用软件。
江苏省计算机等级考试二级C语言笔试辅导题目--资料
答案:D
10
⑶ 运算符和表达式的表示及使用
① 赋值表达式,赋值运算符的左值要求
② 算术表达式。++、--运算符左值要求。溢出。
③ 关系表达式与逻辑表达式,逻辑表达式优化处理
④ 逗号表达式
⑤ 条件表达式
⑥ 表达式运算中操作数类型自动转换与强制转换
【考题解析】
[单选题] 若有声明“double x=3,c,*a=&x,*b=&c;”,则下列语
答案: 2
[单选题]以下选项中,不能用作标识符的是 。
A. print
B. FOR
C. &a D. _00
答案:C
[单选题] 以下选项中,
是C语言关键字。
A. printf B.include
C.fun
D.default
答案:D
[学校单选题] 执行语句“printf(”bye\bye101\101“);”时输出到 屏幕的结果为 (22) 。
江苏省计算机等级考试 二级C语言 笔试辅导
1
笔试概况
• 考试时间:2小时 • 合格、优秀成绩要求 • 内容题型及分值
– 信息技术 选择题(20分)
– C语言 选择题(10分) 填空题(30分):简单填空(5分) 阅读程序(13分) 完善程序(12分)
• 答题策略
2
语法考试要求及考题解析
(2007秋~2010春)
A) C语言程序将从源程序中第一个函数开始执行 B) 可以在程序中由用户指定任意一个函数作为主函数,程 序将从此开始执行
C) C语言规定必须用main作为主函数名,程序将从此开始 执行,在此结束
D) main可作为用户标识符,用以命名任意一个函数作为主 函数
155_江苏省计算机二级考试(C语言)-文档投稿赚钱网
A. y=x/(10*(n-1))
B. y=x%(10*(n-1))
C. y=x%(long)pow(10,n-1) D. y=x%(10 (n-1))
答案:C
[填空题] 若有声明“double x=10,y=5;”,则计算xy的库函数 用形式是 。
答案: pow(x,y) 或 pow(10,5) [填空题] 若有声明“int x;”且sizeof(x)的值为2,则当x值
时“x+1>x”为假。 答案: 32767
13
[填空题] 若有声明“float y=3.14619;int x;”,则计算表达
“x=y*100+0.5, y=x/100.0”后y的值是
。
答案: 3.15
[单选题] 已知有声明“int a=3,b=4,c;”,则执行语句
“c=1/2*(a+b);”后,c的值为
A. 3
B. 3.0
C. 3.89
D. 4.0
答案:B x=3.89,n=3,y=3.0
[单选题] 已知有声明“int a=3,b=4;”,下列表达式中合法的
是
。
A. a+b==7 B. a=|b| C. a=b=0 D. (a++)++
答案:C
[学校单选题] 已知有声明“int a=1,b=2;”,执行语句
答案:a=3
[单选题] 若有声明“long a,b;”且变量a和b都需要通过键盘输 入获得初值,则下列语句中正确的是 。
出到屏幕的结果为 (22) 。
答案: byye101A
9
[学校单选题] 表达式“1e-8/2+1.0f”值的数据类型是 ( 3) 。
江苏省计算机c语言二级考试试题及答案
江苏省计算机c语言二级考试试题及答案一、选择题1. C语言中,下列语句中不会发生数据截断的是:A. float a = 3.14;B. char b = 'A';C. int c = 50000;D. short d = 32767;答案:A2. 下列哪个不是C语言的关键字?A. intB. floatC. doubleD. main答案:B3. 对于C语言中的逻辑运算符,下列表达式的值为真(非零)的是:A. 1 && 0B. 1 || 0C. !1D. 1 & 0答案:B二、编程题1. 编写一个程序,接受用户输入的三个整数,然后按照从小到大的顺序输出这三个整数。
```c#include <stdio.h>int main() {int num1, num2, num3;printf("请输入三个整数:\n");scanf("%d %d %d", &num1, &num2, &num3);if (num1 > num2) {int temp = num1;num1 = num2;num2 = temp;}if (num1 > num3) {int temp = num1;num1 = num3;num3 = temp;}if (num2 > num3) {int temp = num2;num2 = num3;num3 = temp;}printf("从小到大的顺序为:%d %d %d\n", num1, num2, num3); return 0;}```答案:请输入三个整数:3 1 2从小到大的顺序为:1 2 32. 编写一个递归函数,计算斐波那契数列的第 n 项(n >= 1)。
```c#include <stdio.h>int fibonacci(int n) {if (n == 1 || n == 2) {return 1;} else {return fibonacci(n - 1) + fibonacci(n - 2);}}int main() {int n;printf("请输入正整数 n:");scanf("%d", &n);int result = fibonacci(n);printf("斐波那契数列的第 %d 项为:%d\n", n, result); return 0;}```答案:请输入正整数 n:6斐波那契数列的第 6 项为:8以上是江苏省计算机C语言二级考试的部分试题及答案,希望能够对您有所帮助。
精编江苏省计算机等级考试二级C语言笔试辅导题目资料
1
笔试概况
• 考试时间:2小时 • 合格、优秀成绩要求 • 内容题型及分值
– 信息技术 选择题(20分)
– C语言 选择题(10分) 填空题(30分):简单填空(5分) 阅读程序(13分) 完善程序(12分)
• 答题策略
2
语法考试要求及考题解析
(2007秋~2010春)
答案: byye101A
9
[学校单选题] 表达式“1e-8/2+1.0f”值的数据类型是 (3) 。
A. int
B. long C. float
D. double
答案:D
[学校单选题]以下局部变量声明中正确的是 (2) 。
A. int char=2; B. void a=0;
C. int a=b=0; D. int a, b=a=0;
。
A. 0,2 答案:A
B. 0,1
C. 1,1
18
D. 2,2
2. 语句
⑴ 实现顺序结构的语句
① 表达式语句,空语句,复合语句,函数调用语句
② 标准输入输出库函数printf(), scanf(),getchar() , putchar() ,gets(),puts()
【考题解析】
[单选题] 已知int类型数据在内存中存储长度为2个字节,以下
B. s=x<0?-1:(x>0?1:0)
C. s=x<=0?-1:(x==0?0:1)
D. s=x>0?1:x==0?0:-1
答案: C
[单选题] 若有程序段“char c=256; int a=c;”,则执行该程 序段后a的值是 。
A. 256
江苏省计算机等级考试C语言第一至三章考点
江苏省计算机等级考试C语言第一至三章考点江苏省计算机等级考试C语言第一至三章考点江苏省计算机等级考试C语言第一至三章考点第一、二章节必会试题:1.以下叙述中正确的是_________(多选)A)在编译时可以发现注释中的拼写错误B)C语言程序的每一行只能写一条语句C)main(){}必须位于程序的开始D)C语言程序可以由一个或多个函数组成E)main()函数至少必须有一条语句F)C程序总是从main函数的第一条语句开始执行G)C程序总是在执行完main函数的最后一条语句后结束第三章必会试题:考点1:常量与变量在程序执行过程中,值保持不变的量称为常量。
变量是指向内存中的一个单元符号。
在C语言中,规定变量只能由字母、数字和下划线组成,且第一个字符必须是字母、数字或下划线,常量分为:整型常量、实型常量、字符型常量、字符串型常量、标识符常量(1)整型常量分为:八进制(以0开头,由数字0—7组成,且第一个数字必须为0),十进制(由数字0—9组成,且第一个数字不能为0),十六进制(以0x开头,由数字0—9,a--f 组成)(2)整型变量:基本整型(int)、短整型(short int)、长整型(longint),长整型以L结尾,无符号整数以U结尾(3)实型常量:十进制小数形式与指数形式(用e表示,e之前必须要有数字,且在E或e之后的指数必须是整数),(4)实型变量:float,double(5)字符型常量:用一对单括号引起来的一个字符或以’\’开头的字符序列(6)字符变量:char(7)字符串型常量:用一对双括号引起来的若干个字符,在字符串的最后有结束标记”\0”,在C语言中没有专门的字符串变量,只能以字符数组存储1.设有四个常数:①4e0.5、②’\87’、③0x5A、④” \””,其中符合C语法规则的常量是_____2.以下常数表示中不正确的是____________A.’\55’B.’55’C.’\x55’D.0x553.以下选项中,不能作为合法常量的是_________A.0X2AB.015C.2.8e9D.123.6e0.44.设有声明语句:char a=’\72’;则变量a__________A.包含一个字符B.包含2个字符C.包含三个字符D.声明不合法5.以下哪个是合法的常量______________A.35uB.1.25e3.4C.’\96\45’D.03876.以下选项中不能用做用户自定义标识符的是__________A. length_B._lengthC.length.dD.For考点2:运算符与表达式(1)算术运算符:单目运算符:+,- 双目运算符:+,-,*,/,%(2)关系运算符:> , <, >=, <=, ==,!=,关系成立时,运算结果为整数1,否则为整数0(3)逻辑运算符:&&(逻辑与),||(逻辑或),!(逻辑非),优先级从高到底:!, ||, && &&与||有短路效应,&&只要第一个为假,则后面不再管结果,||只要有一个为真,则后面不再管结果(4)赋值运算符:= , +=,-=,*=,/=,%=,^=(5)自增、自减运算符:++,--,只有变量才能自增,常量是不能自增的(6)逗号运算符:其运算顺序为从左到右依次计算各个表达式的值,并把最后一个表达式的值作为整个表达式的值(7)sizeof()运算符:用来计算某种类型或数据做占用的字节数(8)条件运算符:条件表达式”?:”为三目运算符,要求有三个操作对象(9)各类运算符号的顺序:首先执行:!,++,--,然后算术运算符,然后关系运算符,然后逻辑运算符,然后条件运算符,然后赋值运算符,然后逗号运算符例题:1.设有语句int a=6, b=3; float x=8,y; y=b/a*x/2;,则y的值是________________2.有数学式3xy/5ab中,变量x和y的取值为整数,而变量a和b的取值为实数,在C程序中对应的正确表达式是______________________A.3/5*x*y/a/bB.3*x*y/5/a/bC.3*x*y/5*a*bD.3/a/b/5*x*y3..设有语句”float x=2.9;int a=5,b;b=a+x;”,则变量b的值是___________4.若a1、a2、a3和a4均为整型变量,则以下选项中符合C语法规则的表达式是______A.a1=25%3.3B.a2=a1+a3=3*5C.a3=078D.a4=0xa25.设有语句”int a,b,c;a=b=c=5;”,执行语句”b+=++a>b &&++c>b;”,则a,b,c 的值分别为____6. 设x为整数,C中能正确的表达数学式0≤x<5的是_______A.0<=x<5B.x=0||x=1||x=2||x=3||x=4C.x>=0||x<5D.!(x<0||x>=5)7.设有变量说明:”short int a=0,b=0;”,则表达式sizeof(‘a’+’b’)的值是_____A.1B. 2C.4D.88.设有语句:char s[ ]=”Rep\0Ch”; int m=sizeof(s);则m的值是_________9.执行以下语句后,a的值为___________ int a=0,m=3,n=10; a=(m++,m+n);10.设有说明语句int a=3,b=2,c; c=--a==b++;则a,b,c的值为_____________________11.设有说明语句”int a,b;”,执行语句”b=(a=3*5,a*4),a+15;”后,b的值为________第四章考点:考点一:字符输入函数(getchar)考点二:格式输入函数(scanf)1。
江苏省C语言-07~09真题-II
江苏省省考C语言-07~09真题-II一、选择题07春25.以下程序运行后的输出结果是______。
A.2 2 B.7 2 C.7 5 D.6 2main(){char a[7]="a0\0a0\0"; int i, j;i=sizeof(a); j=strlen(a);printf("%d %d", i , j); }27.以下程序段中,有语法错误的是______。
A.fun(char aa[10]) B.fun(char *aa){while (*aa) printf(“%c”,*aa++);} {while (aa[0]) printf(“%c”,*aa++);}C.main ( ){ D.main ( ) {char *aa=”Hello!”; char aa[10]=”Hello!”;while (*aa)printf(“%c”,*aa++); } while (*aa)printf(“%c”,*aa++); }28.若有声明“int a[ ]={1,2,3,4},*p,i;”,则以下程序段中不能输出13的是______。
A.for(i=0;i<4;i+=2) printf(“%d”, a[i]); B.for(p=0;p<4;p+=2)printf(“%d”, a[p]); C.for(p=a;p<a+4;p+=2)printf(“%d”, *p); D.for(p=a,i=0;i<4;i+=2)printf(“%d”, p[i]); 29.若有如下的类型定义和变量声明,则在给出选项中值不为7的表达式是______。
A.ptr->a B.(++ptr)->a C.x[1].a D.x[0].b->a struct ss{int a; struct ss *b;}x[3]={{5,&x[1]},{7,&x[2]},{9,0}},*ptr=&x[0];30.若需要对一个数据文件abc.txt中的数据做加密处理并且限定只作一次打开文件操作,则在“fp=fopen(“abc.txt”, 模式字符串);”中,模式字符串应当是______。
江苏省计算机二级C语言基础知识讲义
江苏省计算机二级C语言基础知识第一章信息技术基础知识点1:信息处理系统的相关问题理论链接:用于辅助人们综合使用各种信息技术的系统通称为信息处理系统。
从应用领域来看信息处理系统有如下分类:雷达是一种以感测与识别为主要目的的系统;电视\广播系统是一种单向的、点到多点(面)的、以信息传递为主要目的的系统;电话是一种双向的、点到点的、以信息交互为主要目的的系统;银行是一种以处理金融信息为主的系统;图书馆是一种以信息收藏和检索为主的系统;因特网则是一种跨越全球的多功能信息处理系统。
知识点2:集成电路的分类考点点拨:该知识点的考查频率非常高。
主要出现在选择题和填空题中。
典型题1(选择题):大规模集成电路(LSI)的集成对象一般是_。
A.功能部件 B.芯片组 C.门电路 D.微处理器分析:大规模集成电路一般以功能部件、子系统为集成对象。
而中小现模集成电路一般以简单的门电路或单级放大器作为集成对象。
(答案:A)典型题2(填空题):目前个人计算机中使用的电子器件主要是_。
分析:PC机中使用的微处理器、芯片组、图形加速芯片等都是超大规模和极大规模具成电路。
(答案:超大规模和极大规模集成电路,或VLSI)典型题3(选择题):可以从不同角度给集成电路分类,按照_可将其分为数字集成电路和模拟集成电路两类。
A.集成电路包含的晶体管数目 B.晶体管结构和电路C.集成电路的功能 D.集成电路的用途分析:集成电路按功能来分,可分为数字集成电路(如门电路。
存储器、微处理器、微控制器、数字信号处理器等)和模拟集成电路(又称为线性电路,如信号放大器。
功率放大器等)。
(答案:C)理论链接:集成电路根据所包含的电子元件数目可分为小规模(SSI)、大规模(LSI)、超大和极大规模(VLSI)集成电路三种。
SSI一般以简单的门电路或单级放大器为集成对象,LSI则以功能部件、子系统为集成对象,而目前PC机中的CPU、芯片组、图形加速器等是VLSI的集成对象。
江苏省计算机c语言二级考试试题及答案
江苏省计算机c语言二级考试试题及答案一、选择题(每题2分,共40分)1. 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-nameD. variable name答案:B2. 在C语言中,以下哪个关键字用于声明函数?A. classB. functionC. voidD. int答案:D3. 若有以下代码片段:```cint a = 3, b = 5;printf("%d", a + b);```输出结果是什么?A. 8B. 35C. 53D. 3+5答案:A4. 在C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C5. 以下哪个选项是C语言中合法的数组声明?A. int array[10];B. int array[];C. int array[10][];D. int array[10][10];答案:A6. C语言中,哪个函数用于输入一个字符?A. scanf()B. getchar()C. printf()D. puts()答案:B7. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. %D. +=答案:A8. 在C语言中,哪个关键字用于声明一个结构体?A. structB. unionD. typedef答案:A9. 若有以下代码片段:```cint x = 10;printf("%d", x++);```输出结果是什么?A. 10B. 11C. 9D. 无法确定答案:A10. 在C语言中,哪个函数用于输出一个字符串?A. scanf()B. printf()C. gets()D. puts()答案:D11. 下列哪个选项是C语言中合法的指针声明?A. int *pointer;B. int pointer[];C. int pointer[10];D. int *pointer[10];答案:A12. 在C语言中,哪个关键字用于声明一个枚举?B. unionC. structD. typedef答案:A13. 若有以下代码片段:```cint a = 10, b = 20;printf("%d", a > b ? a : b);```输出结果是什么?A. 10B. 20C. 30D. 无法确定答案:B14. 在C语言中,哪个函数用于计算两个数的绝对值?A. abs()B. fabs()C. sqrt()D. pow()答案:A15. 下列哪个选项是C语言中合法的函数声明?A. int function();B. void function();C. int function(int x);D. All of the above答案:D16. 在C语言中,哪个关键字用于声明一个联合体?A. unionB. structC. enumD. typedef答案:A17. 若有以下代码片段:```cint a = 10, b = 20;printf("%d", a < b ? a : b);```输出结果是什么?A. 10B. 20C. 30D. 无法确定答案:A18. 在C语言中,哪个函数用于计算两个数的指数?A. pow()B. sqrt()C. fabs()D. abs()答案:A19. 下列哪个选项是C语言中合法的宏定义?A. #define PI 3.14159B. #define PI = 3.14159C. #define PI "3.14159"D. #define PI 3.14159答案:A20. 在C语言中,哪个关键字用于声明一个宏?A. defineB. macroC. constD. typedef答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二次课基本语句和选择结构课时:4第三部分基本语句试题分析:本部分内容涉及考点较少,重点掌握scanf语句和printf语句的格式使用。
重点内容:3.1 表达式语句,空语句,复合语句1 表达式语句:由各类表达式加;构成。
表达式包括:算术表达式、赋值表达式、逗号表达式等。
举例:a=b+2; //赋值表达式i++;//算术表达式2 空语句:只有一个;表示的语句。
举例:main(){ ;}3 复合语句:用花括号括起来的语句。
举例:{a++;b++;printf(“%d%d\n”,a,b);}3.2 输入输出函数的调用,正确输入数据并正确设计输出格式1 printf函数(输出函数)★printf一般格式:printf(格式控制,输出项1,输出项2,……);举例:pirntf(“a=%d,b=%d”,a,b); //输出整型变量a和b,如果a为10,b为8,输出结果为:★printf函数中常用格式说明%后跟输出变量对应的格式字符,d表示十进制整型,f表示浮点数,c表示输出一个字符,s表示输出字符串。
%后先跟数字再跟格式字符,表示输出值的宽度,举例:pirntf(“a=%5d”,a); //输出变量a,宽度为5,输出结果如下:2 scanf函数(输入函数)★scanf函数的一般调用形式scanf(格式控制,输入项1,输入项2,……);,举例:int k;float a;double y;scanf(“%d%f%lf”,&k,&a,&y); //用于从键盘输入三个变量值%后跟格式字符,包括:c输入一个字符,d输入十进制数,f单精度,lf双精度,o八进制,x十六进制。
★scanf函数输入数据(常考)考点一:跳过某个输入数据int x,y,z;scanf(“%d%*d%d%d”,&x,&y,&z);如果输入:12 34 56 78<回车>x为12,y为56,z为78考点二:插入其他字符scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);正确输入:a=10,b=20.c=30a为10,b为20,c为30考点三:不同数据类型输入int x;char y;int z;scanf(“%d%c%d”,&x,&y,&z);正确输入:12a23 //不可输入12 a 23x为12,y为a,z为23考点四:指定输入数据所占的宽度scanf(“%3d%5f%5le”,&k,&a,&y);如果输入:123456.789.123k为123,a为456.7,y为89.12真题解析:一、选择题(1)若有定义:int a,b;,通过语句scanf(“%d;%d”,&a,&b);,能把整数3赋给变量a,5付给变量b的输入数据是()(2011年9月选择题16题)A)3 5 B)3,5 C)3;5 D)35答案:C解析:本题考查scanf函数输入格式控制,本题在格式控制里插入其他符号;,所以在输入时需要在两个数之间加入;。
(2)有以下程序段char name[20];intnum;scanf("name=%s num=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为()(2011年3月选择题16题)A)Lili B)name=Lili C)Lilinum= D)name=Lili num=1001答案:A解析:本题考察输入函数scanf用法,当%前有字符串时,在键盘输入时也要输入对应字符串,本题name=和num=都是%前字符串,所以,键盘输入时也要敲入name=和num=,这样本题输入name=Lili num=1001时,分别将Lili赋给name变量,将1001赋给num变量。
考虑scanf其他用法。
二、填空题(1)若程序中已给整型变量a和b赋值10和20,请写出按以下格式输出a,b值的语句 ______ *****a=10,b=20*****(2011年9月填空题6题)答案:printf(“*****a=%d,b=%d*****”,a,b);解析:(2)有以下程序#include <stdio.h>main(){ int x,y;scanf(%2d%1d,&x,&y); printf("%d\n",x+y);}程序运行时输入:1234567程序的运行结果是________(2010年9月填空题7题)解析:本题考查scanf函数输入格式控制,%2d表示取数字的前两位(12),%1d表示从第三位开始取一位数字(3),x+y为15,所以输出15。
第四部分选择结构程序设计试题分析:选择结构是三大结构之一,重点要掌握if语句和switch语句的使用,每年if语句是必须出现的,switch语句出现较少,但也要会用。
重点内容:4.1 用if语句实现选择结构1 if语句形式一:if(表达式) 语句程序举例:输入三个整数,分别赋给a,b,c,然后按从小到大输出。
#include <stdio.h>main(){ int a,b,c,t;printf(“input a,b,c:”);scanf(“%d%d%d”,&a,&b,&c);printf(“a=%d,b=%d,c=%d\n”,a,b,c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf(“a=%d,b=%d,c=%d\,”,a,b,c);}如果输入:12 3 44输出:形式二:if(表达式) 语句块1else 语句块2程序举例:输入两个数,分别赋给x和y,输出其中最大的数。
#include <stdio.h>main(){ int x,y;printf(“Enter x &y:”);scanf(“%d%d”,&x,&y);printf(“x,y:%d%d\n”,x,y);if(x>y)printf(“max=x=%d\n”,x);elseprintf(“max=y=%d\n”,y);printf(“**end**\n”);}如果输入:5 3输出:4.2 用switch语句实现多分支选择结构switch(表达式){case 常量表达式1:语句1;break;case 常量表达式2:语句2;break;……case 常量表达式n:语句n;break;default :语句n+1;}注意:每个语句后的break;语句不能省,保证执行当前语句后不在执行后面的语句,如果省去break;会导致继续执行后面的语句。
程序举例:将考试成绩的百分制转换成5分制(A:90~100分,B:80~89分…)。
#include <stdio.h>main(){int score;printf("Enter a mark:");scanf("%d",&score);printf("score=%d",score);switch(score/10){case 10:case 9:printf("A\n");break;case 8:printf("B\n");break;case 7:printf("C\n");break;case 6:printf("D\n");break;defalut:printf("E\n");}}当输入:95屏幕显示:思考:(1)如果将case 9:printf("A\n");break;中break;语句省去,当输入95时,输出结果为多少?(2)如果将defalut:printf("E\n");4.3 选择结构的嵌套格式一:简单嵌套if(表达式1)if(表达式2) 语句1;else 语句2;else语句3;说明:在使用嵌套时,要考虑if与else配对问题,从里往外嵌套,else与上一个最近的if 成对。
程序举例:#include <stdio.h>main(){ int a=1,b=0;if(!a) b++;else if(a==0) if(a) b+=2;else b+=3;printf("%d\n",b);}输出结果:0解析:if(!a)与else if(a==0)为一对,if(a)与else为一对,即else与上一个最近的if成对原则。
由于a=1不符合if(!a),也不符合if(a==0),所以,本题没有语句被执行,b仍为0。
格式二:多重嵌套if(表达式1)语句1;else If(表达式2)语句2;else if(表达式3)语句3;……else 语句n;程序举例:将考试成绩的百分制转换成5分制(A:90~100分,B:80~89分…)。
#include <stdio.h>main(){ int score;printf("Enter score:");scanf("%d",&score);printf("score=%d:",score);if(score>=90) printf("A\n");else if(score>=80) printf("B\n");else if(score>=70) printf("C\n");else if(score>=60) printf("D\n");else printf("E\n");}如果输入:95输出:真题解析:一、选择题(1)有以下程序#include <stdio.h>main(){ int a=1,b=0;if(--a) b++;else if(a==0) b+=2;else b+=3;p rintf(“%d\n”,b);}程序运行后的输出结果是()(2011年9月选择题18题)A)0 B)1C)2 D)3答案:C解析:本题主要考查多分支if语句和表达式值问题,当a=1时,执行--a后,表达式值为0,a也变为0,不执行b++;;符合第二个分支a==0,执行b+=2;,所以,b=2。