C语言-2014
- 格式:doc
- 大小:310.50 KB
- 文档页数:35
《C语言程序设计》专升本练习题(学习资料仅供练习)目录专升本《C语言》练习题一 (1)专升本《C语言》练习题二 (9)专升本《C语言》练习题三 (17)专升本《C语言》练习题四 (24)专升本《C语言》练习题五 (31)专升本《C语言》练习题六 (42)专升本《C语言》练习题七 (48)专升本《C语言》练习题八 (58)专升本《C语言》练习题九 (65)专升本《C语言》练习题十 (72)专升本《C语言》练习题一6 10专升本《C语言》练习题二专升本《C语言》练习题三一、单项选择题1. C语言源程序文件经过编译连接之后生成一个后缀为__C__的文件。
A.”.c”B.“.obj”C.“.exe”D.“.bas”2. 以下选项中不正确的整型常量是_C____。
A. 12LB. -10C. 1,900D. 123U3. 表达式___C___的值是0。
A.3%5B.3/5.0C.3/5D.3<54. 表达式!(x>0||y>0) 等价于__D___。
A.!x>0||!y>0B.!(x>0)||!(y>0)C.!x>0&&!y>0D.!(x>0)&&!(y>0)5. 若变量已正确定义并赋值,表达式__D____不符合C语言语法。
A.4&&3B.+aC.a=b=5D.int(3.14)6. 若变量已正确定义,执行语句scanf("%d%d%d ",&k1,&k2,&k3);时,___B___是正确的输入。
A.2030,40B.20 30 40C.20, 30 40D.20, 30,407. 执行语句printf(”__D____”, 2); 将得到出错信息。
A.%dB.%oC.%xD.%f8. 设变量定义为“int s[ ]="hello\nworld\n";”,则数组s中有__B__个元素。
2014年C语言试题一、选择题(40*1)1 对用C语言编写的代码程序,以下叙述中正确的是(B)A、可立即执行B、是一个源程序C、经过编译即可执行D、经过编译解释才能执行2 以下选项中正确的实型常量是(D)A、0B、3. 1415C、0.03*102D、.323 C语言中不合法的字符串常量是(B)A、"\121 "B、'y= 'C、"\n\n "D、"ABCD\x6d "4 C语言中运算必须是整型的运算符是(B)A、/B、%C、*D、+5 C语言中的简单数据类型有(C)A、整型、实型、逻辑型B、整型、字符型、逻辑型C、整型、实型、字符型D、整型、实型、逻辑型、字符型6 以下选项中不合法的用户标识符是(D)A、PRINTFB、fileC、MainD、wb-17 以下非法的赋值语句是(C)A、n=(i=2,++i)B、j++C、++(i+1)D、x=i>08 C语言中不合法的常量是(D)A、'\xff 'B、'\65 'C、'& 'D、'\028 '9 C语言中,字符(char)型数据在计算机内存中的存储形式是(D)A、反码B、补码C、EBCDIC码D、ASCII码10 以下程序的输出结果是(D)void main(){ int x=10,y=3;printf("%d\n ",y=x/y);}A、0B、1C、不确定的值D、311 以下程序段的输出是(A)int x=496;printf("*%-06d*\n ",x);A、*496 *B、* 496*C、*000496*D、输出格式不合法12 若变量已经正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是(D)A、read(a,b,c);B、scanf("%d%d%d ",a,b,c);C、scanf("%D%D%D ",&a,&b,&c)D、scanf("%d%d%d",&a,&b,&c)13 以下合法的C语言赋值语句是(D)A、a=b=58B、k=int(a+b);C、a=58,b=58D、- - i;14 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是(A)A、1B、0C、2D、615 以下程序执行后输出结果是(B)void main(){ int i=10,j=1;printf("%d,%d\n ",i--,++j);}A、9,2B、10,2C、9,1D、10,116 设有语句char a= '\172 ';,则变量a(A)A、包含一个字符B、包含2个字符C、包含个字符D、说明不合法17 若变量已经正确定义,要将a和b中的数据进行交换,下面不正确的语句是(C)A、a=a+b,b=a-b,a=a-b;B、t=a;a=b;b=tC、a=t;t=b;b=a;D、t=b;b=a;a=t;18 若变量已经正确说明,要求用以下语句给c1赋值字符%,给c2赋值字符#,给a赋值2.0,给b赋值4.0,则正确的输入形式是(B)scanf("%f%c%f%c ",&a,&c1,&b,&c2);A、2.0 % 4.0 #B、2.0%4.0#C、2 % 4#D、2 % 4 #19 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)A、6.500000B、7C、5.500000D、6.00000020 以下程序执行后的输出结果是(D)void main(){int i=1,j=1,k=2;if((j++||k++)&& i++) printf("%d,%d,%d\n ",i,j,k);}A、1,1,2B、2,2,1C、2,2,2D、2,2,321 下列运算符中优先级最高的运算符是(A)A、!B、%C、-=D、&&22 运行以下程序后,输出的结果是(A)void main(){ int k=-3;if(k<=0)printf("****\n ");elseprintf("&&&&\n ");}A、****B、&&&&C、****&&&&D、有语法错误不能通过编译23 以下程序段的输出结果是(B)void main(){ char x= 'A ';x=(x> 'A ' && x< 'Z ')?(x+32):x; printf("%c\n ",x ); }A、aB、AC、ZD、z24 以下的程序执行后输出的结果是(A)void main(){ int a=5,b=4,c=3,d=2;if(a>b>c)printf("%d\n ",d);else if((c-1>=d)==1)printf("%d\n ",d+1);else printf("%d\n ",d+2);}A、3B、2C、编译出错D、425 若执行以下程序时从键盘上输入3和4(输入方式:3 4),则输出的结果是(C)void main(){ int a,b,s;scanf("%d%d ",&a,&b);s=a;if(as*=s;printf("%d\n ",s);}A、14B、18C、16D、2026 设a、b和c都是int变量,且a=3,b=4,c=5,则以下的表达式中,值为0的表达式是(D)A、a&&bB、a<=bC、a||b+c&&b-c D、!((a<b)&&!c||1)< p="">27 以下的程序运行结果是(D)void main(){ int a=2,b=-1,c=2;if(a<b)< p="">if(b<0) c=0;else c+=1;printf("%d\n ",c);}A、0B、1C、3D、228 以下程序的输出结果是(C)void main(){ int x=1,a=0,b=0;switch(x){case 0:b++;case 1:a++;case 2:a++;b++;}printf("a=%d,b=%d\n ",a,b);}A、a=2,b=2B、a=1,b=1C、a=2,b=1D、a=1,b=029 若x是int类型变量,以下程序段的输出结果是(D)for(x=3;x<6;x++)printf((x%2)?( "**%d "):( "##%d\n "),x);A **3C ##3D **3##4##4 **4 **4##5 **5**5 ##530 以下程序的输出结果是(A)int n=10;while(n>7){ n--;printf("%d ",n);}A、987B、1098C、10987D、987631 以下程序段的输出结果是(C)int i,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4){m++;} printf("%d\n ",m);A、12B、15C、20D、2532 以下程序段的输出结果是(C)int x=3;do{ printf("%3d ",x-=2);} while(!(--x));A、1C、1 -2D、死循环33 以下的程序输出结果为(A)void main(){ int i;for(i=0;i<3;i++)switch(i){ case 1:printf("%d",i);case 2:printf("%d",i); default: printf("%d",i);}}A、011122B、012C、012020D、12034 以下程序的输出结果是(C)# includevoid man(){ int i;for(i=1;i<5;i++){if(i%2) putchar('< ');else continue;putchar('> ');}putchar('# ');}A、<><><>#B、><><><#C、<><>#D、><><#35 若想将一个字符数组a的内容存入另一个字符数组b中,下列正确的是(B)A、b=aB、strcpy(b,a)C、strcpy(a,b)D、strcat(b,a)36 下面的程序输出结果是(A)void main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A、3B、4C、1D、237 以下对整型数组a的正确说法是(D)A、int a(10);B、int n=10,a[n];C、int n;sacnf("%d ",&n);int a[n]D、#define SIZE 10 int a[SIZE];38 以下程序的输出结果是(B)void main(){ int i,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n ",sum);}A、15B、不确定C、16D、039 以下程序的输出结果是(A)void main(){ int i,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf("%d, ",x[i][2-i]);}A、3,5,7B、1,4,7C、1,5,9D、3,6,940 若fp是指向某文件的指针,且已经读到文件的末尾,则库函数feof(fp)的返回值是(A)A、EOFB、-1C、NULLD、非零值二、填空题(20*1)1、C语言中函数的组成部分包括函数头和函数体。
2014年9月二级C语言程序设计模拟(7)试题及答案单项选择题1.下面关于算法的叙述中,正确的是( )。
A:算法的执行效率与数据的存储结构无关B:算法的有穷性是指算法必须能在执行有限个步骤之后终止C:算法的空间复杂度是指算法程序中指令(或语句)的条数D:以上三种描述都正确参考答案: B 题目分值: 1.0 分您的答案: 得分: 0.0详细解答: 算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。
算法的有穷性是指一个算法必须在执行有限的步骤以后结束。
2.下列二叉树描述中,正确的是( )。
A:任何一棵二叉树必须有一个度为2的结点B:二叉树的度可以小于2C:非空二叉树有0个或1个根结点D:至少有2个根结点参考答案: B 题目分值: 1.0 分您的答案: 得分: 0.0详细解答: 二叉树是由n≥0个结点的有限集合构成,此集合或者为空集,或者由一个根结点及两棵互不相交的左右子树组成,并且左右子树都是二叉树。
二叉树可以是空集合,根可以有空的左子树或空的右子树。
二叉树不是树的特殊情况,它们是两个概念。
二叉树具有如下两个特点:①非空二叉树只有一个根结点。
②每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。
3.如果进栈序列为A,B,C,D,则可能的出栈序列是( )。
A: C,A,D,BB: B,D,C,AC: C,D,A,BD:任意顺序参考答案: B 题目分值: 1.0 分您的答案: 得分: 0.0详细解答: 栈的操作原则为后进先出。
选项B)中出栈顺序可按“A进,B进,B出,C进,D进,D出,C出,A出”实现。
4.下列各选项中,不属于序言性注释的是( )。
A:程序标题B:程序设计者C:主要算法D:数据状态参考答案: D 题目分值: 1.0 分您的答案: 得分: 0.0详细解答: 注释一般为序言性注释和功能性注释。
序言性注释常位于程序开头部分,它包括程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期及修改日期等。
C 语言课程考试试卷课程名称:《C 语言程序设计》年级: 班级:姓名:_______________ 学号:_________________ 考试(考查) 闭卷选择题(每题2分,共计100分)1. 以下叙述正确的是( )A) 在C 程序中,main 函数必须位于程序的最前面 B) C 语言的每一行中只能写一条语句 C) C 语言本身没有输入输出语句D) 在对一个C 语言进行编译的过程中,可发现注释中的拼写错误 2. 不属于字符型常量的是__________。
A) 'B' B) 'C' C) '\n' D) P3. 判断 char 型变量ch 是否是大写字母的正确表达式是_________。
A) 'A'<=ch<='Z' B) (ch>=‘A')&(ch<='Z') C) (ch>='A')&&(ch<=‘Z') D) ('A'<=ch)AND('Z'>=ch)4. 若有说明: int a[10]; 则对 a 数组元素的正确引用是________。
A) a[10] B)a[3.5] C) a(5) D) a[10-10]5. 以下二维数组 a 的正确说明是________。
A) int a[1,1]; B) float a(3,4); C) double a[1][4]; D) float a(3)(4);6. 设有: int a=2,b=3,c=7,d=8,m=3,n=3; 执行 (m=a>b)&&(n=c>d) 后的 n 值为_________。
A) 0 B) 1 C ) 2 D) 37. 已知 int x=10,y=20,z=30; 以下语句执行后, x 、y 、z 的结果是。
2014《C语言》模拟试题及答案(经典)一、单选题1. C语言中基本数据类型有。
CA)整型、实型、逻辑型B)整型、字符型、逻辑型C)整型、实型、字符型D)整型、实型、字符型、逻辑型2. 在C语言中,数字O29是一个。
AA)八进制数 B)十进制数 C)十六进制数 D)非法数3. 在以下关于C语言的不严格的叙述中,错误的说法是。
AA)在标识符中,大写字母和小些字母的意义相同B)有些不同类型的变量可以在一个表达式中运算C)在赋值表达式中等号“=”左边的变量和右边的值可以是不同类型D)同一个运算符号在不同的场合可以有不同的含义4.下列关于C语言用户标识符的叙述中正确的是。
BA)用户标识符中可以出现下划线和中划线(减号)B)用户标识符中不可以出现中划线,但可以出现下划线C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头【解析】考查C语言中的用户标识符规则,在C语言程序设计中,用户标识符是由字母、数字和下划线组成的,并且第一个字符必须是字母或下划线。
5. 结构化程序设计方法中有三种基本控制结构,以下不正确的是。
DA) 顺序结构B) 选择结构C) 循环结构 D) 数组结构6. C语言提供的合法关键字是。
DA) swicth B) cha C) Case D) default7.以下非法的赋值语句是CA) n=(i=2,++i); B)j++; C) ++(i+1); D)x=j>0;【解析】对表达式不能进行自加自减运算。
8.在以下一组运算符中,优先级最高的运算符是。
A) <= B) = C) % D) &&【解析】C语言常用的积累运算符的优先级关系是:逻辑非“!”>算术运算符>关系运算符>逻辑与“&&”>逻辑或“||”>赋值运算符>逗号运算符。
由于C选项为求余运算符,所以本题正确答案为C选项。
第二十届全国青少年信息学奥林匹克联赛初赛普及组C语言试题竞赛时间:2014年10月12日14:30~16:30选手注意:试题纸共有8页,答题纸共有2页,满分100分。
请在答题纸上作答,写在试题纸上的一律无效。
不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。
一、单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确选项)1. 以下哪个是面向对象的高级语言()。
A. 汇编语言B. C++C. FortranD. Basic2. 1TB代表的字节数量是()。
A. 2的10次方B. 2的20次方C. 2的30次方D. 2的40次方3. 二进制数00100100和00010101的和是()。
A. 00101000B. 001010100C. 01000101D. 001110014. 以下哪一种设备属于输出设备()。
A. 扫描仪B. 键盘C. 鼠标D. 打印机5. 下列对操作系统功能的描述最为完整的是()。
A. 负责外设与主机之间的信息交换B. 负责诊断机器的故障C. 控制和管理计算机系统的各种硬件和软件资源的使用D. 将源程序编译成目标程序6. CPU、存储器、I/O设备是通过()连接起来的。
A. 接口B. 总线C. 控制线D. 系统文件7. 断电后会丢失数据的存储器是()。
A.RAMB. ROMC. 硬盘D. 光盘8. 以下哪一种是属于电子邮件收发的协议()。
A. SMTPB. UDPC. P2PD. FTP9. 下列选项中不属于图像格式的是()。
A. JPEG格式B. TXT格式C. GIF格式D. PNG格式10. 链表不具有的特点是()。
A. 不必事先估计存储空间B. 可随机访问任一元素C. 插入删除不需要移动元素D. 所需空间与线性表长度成正比11. 下列各无符号十进制整数中,能用八位二进制表示的数中最大的是()。
A. 296B. 133C. 256D. 19912. 下列几个32位IP地址中,书写错误的是()。
2014年蓝桥杯(第5届)预赛本科B组真题解析啤酒和饮料啤酒每罐2.3元,饮料每罐1.9元。
小明买了若干啤酒和饮料,一共花了82.3元。
我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。
注意:答案是一个整数。
请通过浏览器提交答案。
不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。
(1)答案。
11(2)编程思路。
把啤酒、饮料的单价和总共花的钱都乘上10,转换为整数。
然后用循环对啤酒的罐数b(1≤b<823/23)和饮料的罐数c(1≤c<823/19)进行穷举,找出满足要求的啤酒罐数b。
(3)源程序。
#include <stdio.h>int main(){int b,c;for (b=1;b<35;b++)for (c=1;c<45;c++){if((823==b*23+c*19) &&(b<c))printf("%d\n",b);}return 0;}(4)用单重循环完成穷举。
实际上,也可以只对啤酒的罐数进行穷举。
#include <stdio.h>int main(){int b,cSum;for (b=1;b<35;b++){cSum=823-23*b;if (cSum%19==0 && cSum/19>b)printf("%d\n",b);}return 0;}切面条一根高筋拉面,中间切一刀,可以得到2根面条。
如果先对折1次,中间切一刀,可以得到3根面条。
如果连续对折2次,中间切一刀,可以得到5根面条。
那么,连续对折10次,中间切一刀,会得到多少面条呢?答案是个整数,请通过浏览器提交答案。
不要填写任何多余的内容。
(1)答案。
1025(2)编程思路。
由题目可知,对折0次切一刀得到2根,对折1次切一刀得到3根,对折2次切一刀得到5根。
练习题1参考答案一、选择题二、填空题1.程序设计语言主要分为以下三类:机器语言、汇编语言和高级语言。
2.在C语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。
3.C程序开发过程的一般步骤为:源程序的编辑、编译、连接和运行。
4. C程序源文件的扩展名为.c ,编译成功后产生的文件扩展名为.obj ,连接成功后产生文件扩展名为.exe 。
三、应用题略练习题2参考答案一、选择题1.通常一个字节包含8 个二进制位。
在一个字节中能存放的最大(十进制)整数是255(无符号),127(带符号),最小(十进制)整数是-128 ,它的二进制数的形式是10000000 。
2.在C语言中,十进制数30的八进制数表示形式是 036 ,十六进制数表示形式是 0x1e ,在内存中它的二进制数表示形式是 0000000000011110 。
3.条件“20<x<30或x<-100”的C语言表达式是 x>20&&x<30||x<-100 。
4.若a、b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为 6 ,b 值为 4 ,c值为 2 。
5.已知int y; float x=-3; ,执行语句y=x%2; 后,变量y的值为语句出错。
6.字符串"ab\034\\\x79"的长度为 5 。
7.在C语言中(以16位PC机为例),一个float型数据在内存中所占用的字节数为4 ;一个double型数据在内存中所占的字节数为 8 。
8.若s是int型变量,且s=6,则s%2+(s+1)%2表达式的值为 1 。
9.表达式pow(2.8,sqrt(double(x)))值的数据类型为 double 。
10.若a是int型变量,则表达式(a=4*5, a*2), a+6的值为 26 。
11.若a是int型变量,则执行表达式a=25/3%3后a的值为 2 。
二级C语言真题2014年09月-(1)一、选择题1、面向对象方法中,实现对象的数据和操作结合于统一体中的是______。
A.结合 B.封装 C.隐藏 D.抽象2、在进行逻辑设计时,将E-R图中实体之间联系转换为关系数据库的______。
A.关系 B.元组 C.属性 D.属性的值域3、线性表的链式存储结构与顺序存储结构相比,链式存储结构的优点有______。
A.节省存储空间 B.插入与删除运算效率高C.便于查找 D.排序时减少元素的比较次数4、深度为7的完全二叉树中共有125个节点,则该完全二叉树中的叶子节点数为______。
A.62 B.63 C.64 D.655、下列叙述中正确的是______。
A.所谓有序表是指在顺序存储空间内连续存放的元素序列B.有序表只能顺序存储在连续的存储空间内C.有序表可以用链接存储方式存储在不连续的存储空间内D.任何存储方式的有序表均能采用二分法进行查找6、设二叉树如下:则后序序列为______。
A.ABDEGCFH B.DBGEAFHC C.DGEBHFCA D.ABCDEFGH7、计算机软件包括______。
A.算法和数据 B.程序和数据 C.程序和文档 D.程序、数据及相关文档8、下面描述中不属于软件需求分析阶段任务的是______。
A.撰写软件需求规格说明书 B.软件的总体结构设计C.软件的需求分析 D.软件的需求评审9、当数据库中数据总体逻辑结构发生变化,而应用程序不受影响,称为数据的______。
A.逻辑独立性 B.物理独立性 C.应用独立性 D.空间独立性10A.并 B.投影 C.交 D.选择11、以下叙述正确的是______。
A.C编译程序把文件后缀为.c的源程序文件编译成文件后缀为.obj的二进制文件B.C编译程序把文件后缀为.c的源程序文件编译成文件后缀为.exe的可执行文件C.C编译程序把文件后缀为.obj的二进制文件编译成文件后缀为.exe的可执行文件 D.链接程序把文件后缀为.c的源程序文件链接成文件后缀为.exe的可执行文件12、以下叙述正确的是______。
江苏大学试题(2013-2014学年第1学期)注意事项:1. 闭卷考试。
考试时间为120分钟。
2.选择题请用2B铅笔涂在答题卡上。
其余用签字笔或圆珠笔填写在答题纸上。
3.请将答题卡(提前15分钟收取)、答题纸、试卷分别都写上班级、学号、姓名、任课教师。
一、选择题(50分,每小题1分)1.标准C语言程序的文件名的后缀是。
A. .cppB. .cC. .exeD. .obj2.以下叙述正确的是_______。
A.C语言程序是由过程和函数组成的B.C语言函数可以嵌套调用,例如:fun(fun(x))(不可嵌套定义)C.C语言函数不可以单独编译(可以单独编译)D.C语言中除了main函数,其他函数不可作为单独文件形式存在3.下列可用于C语言用户标识符的一组是_______。
A.void, define, WORD B.a3_3,_123,CarC.For, -abc, IF Case D.2a, DO, sizeof(合法字符数字,下划线,字母,以下划线或字母开头,但不能是C语言关键字)4.以下选项中不能用作C程序合法常量的是_________ 。
A.1,234 B.'\123'C.123 D."\x7G"(合法常量: 整型常量,符号常量,实型常量,字符常量,转义字符,字符串常量)5.以下定义语句中正确的是_______。
A.int a=b=0; (初始化不允许连等)B.long a=65; b;C.float a=1 ; D.double a=0.0;b=1.1;6.以下叙述中正确的是______。
A. 在C程序中无论是整数还是实数,只要在允许范围内都能准确无误的表示B. 在C程序中只要是整数在允许范围内都能准确无误的表示C. 在C程序中只要是实数在允许范围内都能准确无误的表示D. 在C程序中无论是整数还是实数,都无法准确无误的表示7.设有语句int a=3;,则执行了语句a+=a-=a*a;后,变量a的值是______。
全国计算机等级考试二级C语言真题题库2 2014年9月(总分43, 做题时间120分钟)一、选择题(每小题1分,共40分)1. 下列叙述中正确的是()。
A 节点中具有两个指针域的链表一定是二叉链表B 节点中具有两个指针域的链表可以是线性结构,也可以是非线性结构C 二叉树只能采用链式存储结构D 循环链表是非线性结构答案:B[解析]具有两个指针域的链表可能是双向链表,A选项错误。
双向链表是线性结构,二叉树为非线性结构,两者节点中均有两个指针域,B选项正确。
二叉树通常采用链式存储结构,也可采用其他结构,C选项错误。
循环链表是线性结构,故D选项错误。
2. 某二叉树的前序序列为ABCD,中序序列为DCBA,则后序序列为()。
A BADCB DCBAC CDABD ABCD答案:B[解析]二叉树遍历可以分为3种:前序遍历(访问根节点,左节点,右节点)、中序遍历(访问左节点,根节点,右节点)、后序遍历(访问左节点,右节点,根节点)。
本题中前序序列为ABCD,中序序列为DCBA,可知D为根节点,ABC为左侧节点,C为D左子节点,A为B子节点,故后序厅列为DCBA,故B选项正确。
3. 下面不能作为软件设计工具的是()。
A PAD图B 程序流程图C 数据流程图(DFD图)D 总体结构图答案:C[解析]软件设计常用的工具有:图形工具,如程序流径图、N—S图、PAD图、HIP0;表格工具,如判定表;语言工具,如PDL(伪码)。
另外,在结构化设计方法中,常用的结构设计工具是结构图,故选择C选项。
4. 逻辑模型是面向数据库系统的模型,下面属于逻辑模型的是()。
A 关系模型B 谓词模型C 物理模型D 实体-联系模型答案:A[解析]逻辑数据模型也称数据模型,是面向数据库系统的模型,着重于在数据库系统一级的实现。
成熟并大量使用的数据模型有层次模型、网状模型、关系模型和面向对象模型等。
故A选项正确。
5. 运动会中一个运动项目可以有多名运动员参加,一个运动员可以参加多个项目。
2014年全国计算机等级考试二级C语言考试大纲◆基本要求1.熟悉Visual C++ 6.0 集成开发环境。
2.掌握结构化程序设计的方法,具有良好的程序设计风格。
3.掌握程序设计中简单的数据结构和算法并能阅读简单的程序。
4.在Visual C++ 6.0 集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力◆考试内容一、C语言程序的结构1.程序的构成,main函数和其他函数。
2.头文件,数据说明,函数的开始和结束标志以及程序中的注释。
3.源程序的书写格式。
4.C语言的风格。
二、数据类型及其运算1.C的数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法。
2.C运算符的种类、运算优先级和结合性。
3.不同类型数据间的转换与运算。
4.C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。
三、基本语句1.表达式语句,空语句,复合语句。
2.输入输出函数的调用,正确输入数据并正确设计输出格式。
四、选择结构程序设计1.用if语句实现选择结构。
2.用switch语句实现多分支选择结构。
3.选择结构的嵌套。
五、循环结构程序设计1.for循环结构。
2.while和do-while循环结构。
3.continue语句和break语句。
4.循环的嵌套。
六、数组的定义和引用1.一维数组和二维数组的定义、初始化和数组元素的引用。
2.字符串与字符数组。
七、函数1.库函数的正确调用。
2.函数的定义方法。
3.函数的类型和返回值。
4.形式参数与实在参数,参数值传递。
5.函数的正确调用,嵌套调用,递归调用。
6.局部变量和全局变量。
7.变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期。
八、编译预处理1.宏定义和调用(不带参数的宏,带参数的宏)。
2.“文件包含”处理。
九、指针1.地址与指针变量的概念,地址运算符与间址运算符。
2.一维、二维数组和字符串的地址以及指向变量、数组、字符串、函数、结构体的指针变量的定义。
《C语言》实验指导书编(全校理工类本科用)2014年2月目录实验一简单C语言程序设计 (1)实验二顺序结构程序设计 (3)实验三选择结构程序设计 (5)实验四循环结构程序设计 (7)实验五数组程序设计 (10)实验六函数程序设计 (13)实验七指针程序设计 (16)实验八结构体程序设计 (17)附录1 C语言上机步骤 (18)实验一简单C语言程序设计实验类型:验证性实验课时: 4 指导教师:时间:2014 年月日课次:第节教学周次:第周实验分室:实验台号:实验员:一、实验目的1.掌握所用的C语言环境的基本操作方法。
2.掌握编辑、编译、连接和运行C程序。
3.掌握C程序的数据类型、运算符,表达式。
二、实验内容和要求1.打开C语言环境,编辑如下程序,写出运行结果。
#include <stdio.h>void main(){printf(“Hello World!\n”);}2. 在屏幕上显示下列图形:* * * ** * ** **3.完成习题集中习题一的内容4. 已知三角形的三边长为3,4,5,求三角形周长5 .完成习题集中习题二内容实验二顺序结构程序设计实验类型:验证性实验课时: 2 指导教师:时间:2014 年月日课次:第节教学周次:第周实验分室:实验台号:实验员:一、实验目的1.掌握基本输入输出函数、库函数的使用。
2.能够编程实现简单的结构化程序。
二、实验内容和要求1.执行程序,写出运行结果。
#include <stdio.h>void main(){float a = 9.1234567891234567890;double b = 9.1234567891234567890;printf("%f, %lf\n",a,b);printf("%.15f,%.15\n",a,b);};2.运行程序,写出结果。
#include <stdio.h>void main(){float x1;double y1 ;scanf("%f %lf ",&x1,&y1) ;printf("x1=%f,y1=%lf ",x1,y1) ;}程序运行时输入x的值123456789,输入y的值123456789。
第六章位操作一.目的和要求1、C语言是一种系统描述语言,它支持通常需要用汇编语言才能完成的一些功能。
而位运算体现了C语言的这一特点。
2、了解位运算的特点,掌握它的使用方法。
二.相关知识1、位运算的概念所谓位运算是指二进制位的运算,它的运算对象只能是整型或字符型数据,不能是浮点型数据。
2、位运算及位操作赋值操作①按位与运算 &、 &=②按位或运算 |、 |=③按位异或运算 ^、^=④取反运算 ~⑤左移运算 <<、 <<=⑥右移运算 >>、 >>=3、位段可以用位运算符进行位操作,也可以用位段的方法来访问字节中的某些位。
所谓位段,是指以二进制位为单位定义长度的结构体类型中的成员。
位于同一结构体中的若干位段的集合,构成了具有某种意义的位结构体数据类型。
其一般定义形式为:struct 位结构体类型名{ 位段类型位段成员名1:位段长度;位段类型位段成员名2:位段长度;…位段类型位段成员名n:位段长度;}位结构体变量;其中,“位结构体类型名”是该结构体的名字;“位段类型”表示其后位段成员的数据类型,一个位段只能被说明为int、unsigned或signed中的一种,由于单个位不可能有符号,所以长度为1的位段只能为unsigned类型;“位段长度”表示位段所占二进制位数。
三.实验练习实验练习 1:编写程序实现,将无符号整数x向左环移n位。
即将x中原来右面的32-n位左移n位,而原来左端n位移到最右面n位。
假设用4个字节存放一个无符号整数。
本练习要求在封闭式实验课中在助教或者讲师的指导下完成。
本练习分成6个部分:1.实验目的2.问题描述3.事例输出4.程序模板5.问题解答提示6.后续问题和任务程序模板是完整的、可实际运行的C程序,其中关键的一行或者多行代码已经替换为注释。
请先阅读问题描述,分析事例输出;然后研究模板的代码。
参考问题解答提示,用C代码替换/* */注释。
一、基本概念1、什么是计算机程序就是由程序员编写的用于控制计算机完成特定任务的指令。
(你试着对计算机大叫,看看它能明白你的意思吗?,比如说:“请计算5的阶乘除以3的结果是多少”)2、什么是计算机语言;语言的分类有哪些计算机语言:是一个能完整、准确和规则地表达人们如何控制计算机工作的一套“符号系统”。
语言的分类:①机器语言:二进制形式书写,计算机直接识别和执行,编写复杂容易出错。
(古代文言文)②汇编语言:助记符形式书写,需编译后执行,执行效率高,移植性查。
(现代各地方言)③高级语言:接近人类语言形式书写,需编译后执行,执行效率底(相对前两者),移植性好。
(现代普通话)3、语言与程序的区别由特定的语言来编写程序,程序就是某种语言的符号序列。
(就是用某一种语言,例如现代普通话,说出的一段即具有逻辑又有意义的话)4、C语言的起源及特点C语言是一门高级语言,由美国贝尔研究所的D.M.Ritchie于1972年推出,之后又有改进和不同版本。
其主要特点如下:(无需死记硬背,了解即可,编程久了自然明白)①简洁紧凑,使用方便、灵活②运算符丰富③数据类型丰富④是结构化语言⑤语法限制不太严格,程序设计自由度大⑥允许直接访问物理地址,可对硬件进行操作⑦生成目标代码质量高,程序执行效率高(相对别的高级语言)⑧适用范围大,可移植性好5、一个简单的hello world程序(最简单的第一印象)main(){printf("hello world!");}(虽然我不赞同死记硬背,但是这个简单结构必须记住,否则最好换专业)6、源程序的编译、连接、运行、集成开发环境等概念•源程序不能执行,需经编译连接后生成可执行二进制码(即可执行文件,后缀名为.exe),才可以执行。
(源程序是给人看的,不是给计算机看的)•集成开发环境,是方便用户编写、运行和调试程序的一套软件。
例如:TC、Win-TC、Visual C++、Dev C++等(程序员们编程的工具)注意:由于不同的集成开发环境因为使用了不同的编译器,所以相同的程序使用不同的开发软件可能会得到不同的运行结果,例如:(1)long double 变量在Win-TC中使用%Lf可以输出正确结果,但Dev C++中会出错(2)对于int型变量Win-TC使用sizeof返回为2,而Dev C++返回为4(3)Win-TC中必须将变量定义放在前面,而Dev C++却不然(初学者可以暂时忽略这方面)7、C语言最基本、最简单的结构main(){}(这是每个程序都必须写出来的结构,考试能写出这个就能得3分啦)8、等级考试中经常被考到的一些基本概念•函数是C语言的基本构成单位;•一个程序有且仅有一个main函数;•程序都是从main函数开始执行;• main函数可以放在程序任何位置;•语句必须以分号作为结束符;• C语言没有输出输入语句,其输出输入由函数完成;(在中国应试考试的选择题中经常出现,你可能不太能明白,没关系,算是先灌点应试概念吧)目标与任务:【1】建立C语言基本概念,会写简单的Hello World程序【2】掌握C语言程序的编写、编译、运行过程【3】会使用printf打印输出,会使用\n进行换行,会使用%d输出数据结果,明白getch()的作用。
二、数据类型在程序中为数据有必要区分为不同的类型以适应不同的应用场合,例如存储人的姓名(字符型)、年龄(整型)、体重(实型)就需要使用不同的数据类型。
C语言数据类型如下:(相当于小学学习汉语拼音和简单汉字,是以后作文(程序)写得好不好的关键基础,是学习编程的第一步)其中使用最多的是:整型(int、long)、实型(float、double)、字符型(char)(1)数据类型不一样,所占内存字节数不一样char:1字节;short:2字节;int:2或4字节【Win-TC中2字节,DEV C++中4字节】long:4字节;float :4字节;double: 8字节注:sizeof运算符可用来测定数据类型的字节数;(2)signed与unsignedsigned与unsigned可以放在整型变量short、int、long前,以表示该整型数为有符号数或无符号数•无符号整型:unsigned == unsigned int•无符号短整型:unsigned short == unsigned short int•无符号长整型:unsigned long == unsigned long int-----------------------------------------------•有符号整型:int == signed int•有符号短整型:short == short int == signed short int•有符号长整型:long == long int == signed long int目标与任务:【1】重点认识整型、实型、字符型【2】使用sizeof测试各种常用数据类型的字节数三、常量和变量1、什么是常量与变量例如:求半径为R高为H的圆柱体的体积V。
其中V=3.14*R*R*H 其中3.14为常量,R、H、V为变量;2、变量的定义定义格式:数据类型变量1 [ ,变量2,…,变量n ];例如:int x;int x,y,z;也可:int x=1,y=2,z;注意:多数编译器要求变量的定义置于程序的起始处,但是DEV C++例外;3、常量的两种形式•直接常量例如:56、3.14、5.1E4、’A’、…•符号常量#define PI 3.14#define true 1注意:#define定义常量时,必须置于程序起始处,且末尾不加分号4、标识符【程序中用户自定义的变量名,函数名等都属于标识符】•是由字母、数字、下划线所组成的且首字母不为数字的字符序列;•用来标识变量名、符号常量名、函数名、数组名等;•不能与C语言中的关键字相同;目标与任务:【1】能区分常量与变量,明白“赋值”的含义【2】会定义整型、实型、字符型变量,同时掌握 %d、%f、%c的使用【3】会用scanf进行基本的数据输入四、常量的书写形式1、整型常量(1)十进制:123、-756(2)八进制:0123、-0756(3)十六进制:0X123、-0x756注意:整型常量的默认类型为int;高精度可以向低精度赋值,但是会有精度损失。
(1)若以u或U结尾,则为unsigned int型(2)若以l或L结尾,则为long int型(3)若无U或L结尾,则自动按照其数值大小匹配为int或long int2、浮点型常量(1)十进制形式:.123、0.34、56.、78.9(必须有小数点出现)(2)指数的形式:123e4、34.6E7、.23E-6(E的前后都必须有数字,其后数字必须为整数)注意:浮点型常量的默认类型为double;高精度可以向低精度赋值,但是会有精度损失。
(1)若以f或F结尾,则为float型;(2)若无f或F结尾,则为double型;【如何验证?sizeof(45.6)】3、字符型常量(1)用单引号括起来的一个字符:’A’、’@’、’?’(2)用单引号括起来的八进制形式:’\123’、’\34’,…’\ddd’(ddd:1~3位8进制)(3)用单引号括起来的十六进制形式:’\x45’、’\xff’,…’\xhh’ (hh:1~2位16进制,其x只能小写)注意:字符可以当作整型运算;整型可以当作字符输出(0~255之间的数);4、字符串常量由一对双引号括起来的字符序列。
例如:”abc?f%...”、”How are you?”注意:’A’与”A”的不同目标与任务:【1】编写一个实例,要求使用上面几种实型常量【2】明白转义字符的作用和正确定义标识符的意义;举例说明五、运算符1、各种运算符的分类(1)算术运算符:( + - * / % ++ -- )(2)关系运算符:( < <= == > >= != )(3)逻辑运算符:(! && || )(4)位运算符:( << >> ~ | ^ & )(5)赋值运算符:( = 及其扩展)(6)条件运算符:( ?: )(7)逗号运算符:( , )(8)指针运算符:( * & )(9)求字节数:( sizeof )(10)强制类型转换:( (类型) )(11)分量运算符:( . -> )(12)下标运算符:( [] )(13)其它:(函数调用运算符( ) )2、基本运算符介绍(1)/ :除法运算符,若被除数与除数均为整数则商也为整数。
例如:5/2结果为2;(2)% :求余运算符,要求被除数与除数均为整数。
例如:7%4结果为3;(3)++:自加1运算符,例如:X++或++X;X++:X先参与运算,之后自加1;++X:X先自加1,之后参与运算;(4)+=:复合运算符,例如:A+=B等价于A=A+B;X+=Y-B等价于X=X+(Y-B)(5)/=:复合运算符,例如:A/=B等价于A=A/B;X/=Y-B等价于X=X/(Y-B)3、运算符的优先级和结合性参考教材附录D,不必死记,在应用中理解记忆。
目标与任务:【1】下面是计算10的阶乘程序,分析其在Win-Tc和DEV C++中的执行结果,为什么?main(){int x;x=10*9*8*7*6*5*4*3*2*1;printf("%d",x);getch();}提示:int、long、%d、%ld、L【2】掌握 / % 的用法。
输入一个3位整数,然后将其各位数字反向输出,例如123输出为321。
六、输入输出函数详解1、输出函数printf()printf(“%d”,x);printf(“%d%f”,x,y);printf(“width=%d length=%f”,x,y);重点掌握:%d、%f、%c重点掌握:.n 、l特别说明:printf函数输出表列中的求值顺序,不同的编译系统不一定相同,可以从左到右,也可从右到左。
Turbo C是按从右到左进行的。
例如:int i=0; printf("%d%d%d",i++,i++,i++);的打印结果为2102、输入函数scanf()scanf(“%d”,&x);scanf(“%d%f”,&x,&y);scanf(“%d,%f”,&x,&y);错误用法:scanf(“width=%d length=%f”,&x,&y);重点掌握:%d、%f、%c重点掌握:l3、printf()与scanf()中的常见错误(1)“”所括的位置不正确;(2)丢失输入变量名前的&;(3)连续输入数据时如何正确分割;4、字符输入输出getchar与putchar(1)getchar用法char ch;ch = getchar();printf(“%c”,ch);(2)putchar用法char ch;ch = ‘A’;putchar(ch);目标与任务:【1】使用getchar连续输入3个数字字符,以这三个数字字符分别作为百位、十位、个位,则其对应了一个三位10进制数,请分别以8进制、10进制、16进制的形式输出该数字。