C程序设计200712A

合集下载

详细完整版C程序设计pdf

详细完整版C程序设计pdf

表达式
由变量、常量、运算符等组成的符合语法规则的 式子,用于计算或表示某种逻辑关系。
数据类型转换
隐式类型转换
由编译器自动完成,如将整型值赋给浮点型 变量时,整型值会自动转换为浮点型。
显式类型转换
由程序员明确指定,如使用强制类型转换符将一种 数据类型转换为另一种数据类型。
数据类型转换的注意事项
在进行数据类型转换时,需要注意数据范围 、精度损失以及可能产生的溢出等问题。
for循环
通过初始化、条件和迭代三部分控制循环的 执行。
循环的中断和继续
使用break和continue语句控制循环的执行 流程。
控制结构的嵌套与综合应用
控制结构的嵌套
在一个控制结构内部包含另一个控制结构,如选择结构嵌套循环 结构。
综合应用示例
结合顺序、选择和循环结构,编写复杂的程序逻辑,如排序算法 、查找算法等。
详细完整版C程序设计 pdf
目 录
பைடு நூலகம்
• C语言概述与基础 • 数据类型、运算符与表达式 • 控制结构与程序设计 • 函数与模块化设计 • 数组与字符串处理 • 指针与内存管理 • 文件操作与数据处理
01
C语言概述与基础
C语言的历史与发展
C语言的起源
C语言最初是由丹尼斯·里奇(Dennis Ritchie)在1972年 为开发UNIX操作系统而设计的一种高级编程语言。
03
第一个C程序:Hello World
• printf("Hello, World! • ");
第一个C程序:Hello World
• return 0;
第一个C程序:Hello World
}
01

湖南省07-12年高考C语言真题

湖南省07-12年高考C语言真题

C语言真题(2007-2012)湖南省2007年五、程序设计题(本大题共4题,共90分)1、程序分析题。

写出下列程序运行的结果。

(每小题5分)(1)#include <stdio.h>main(){ int x=3;do {printf("%d",x-=2);} while(!(--x));}运行结果是_____________________________(2)#include<stdio.h>main(){int x=4,y=8,z;z=x<<2|y;printf("%d",z);}运行结果是_____________________________(3)#include <stdio.h>main(){ char x='E',y='e';printf("%c,",x=32);printf("%c,",(x--,++y));printf("%c\n",x==y?x+=32;y-=32);}运行结果是_____________________________(4)#include <stdio.h>main(){ int t=2;while (t<5)switch(t%2){ case 0:t++;printf("#");break;case 1:t+=2;printf("*");default:printf("\n");}}运行结果是_____________________________ (5)#include <stdio.h>main(){ char str1{50}=" Beijing 2008!",*q=str1;char str2[50]=" One World One Dream!",*p=str2;while(*p!='\0')p++;while(*q!='\0')P++=q++;*p='\0';printf("%s",str2);}运行结果是_____________________________(6)#include <stdio.h>#include <string.h>main(){ char s[]="abcdefg",t;int i=0,j=strlen(s)-1;while (i<j){ t=s[j];s[j]=s[i];s[i]=t;i++;j--}puts(s);}运行结果是_____________________________2、程序填空(每空5分,共30分)(1)下面程序的功能是求1000以内的完数。

2007年4月全国计算机等级考试二级笔试试卷 C语言程序设计

2007年4月全国计算机等级考试二级笔试试卷 C语言程序设计

2007年4月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间120分钟,满分100分)一、选择题(1)下列叙述中正确的是()A)算法的效率只与问题的规模有关,而与数据的存储结构无关。

B)算法的时间复杂度是指执行算法所需要的计算工作量。

C)数据的逻辑结构与存储结构是一一对应的。

D)算法的时间复杂度与空间复杂度一定相关。

(2)在结构化程序设计中,模块划分的原则是()A)各模块应包括尽量多的功能B)各模块的规模应尽量大C)各模块之间的联系应尽量紧密D)模块内具有高内聚度、模块间具有低耦合度(3)下列叙述中正确的是()A)软件测试的主要目的是发现程序中的错误。

B)软件测试的主要目的是确定程序中错误的位置。

C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作。

D)软件测试是证明软件没有错误。

(4)下面选项中不属于面向对象程序设计特征的是()A )继承性B )多态性C )类比性D )封装性(5)下列对队列的叙述正确的是( )A )队列属于非线性表。

B )队列按“先进后出”原则组织数据。

C )队列在队尾删除数据。

D )队列按“先进先出”原则组织数据。

(6)对下面二叉树,进行前序遍历的结果为( )AXZFCYBE DA )DYBEAFCZXB) YDEBFZXCAC )ABDYECFXZD )ABCDEFXYZ(7)某二叉树中有n 个度为2的结点,则该二叉树中的叶子结点为( )A )n+1B )n-1C )2nD )n/2(8)在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是( )A )并B )交C )投影D )笛卡儿乘积(9)在E-R 图中,用来表示实体之间联系的图形是( )A )矩形B )椭圆形C )菱形D )平行四边形(10)下列叙述中错误的是( )A )在数据库系统中,数据的物理结构必须与逻辑结构一致。

B )数据库技术的根本目标是要解决数据的共享问题。

C)数据库设计是指在已有数据库管理系统的基础上建立数据库。

C语言答案(删减版)

C语言答案(删减版)

C语言答案()第一章C语言程序设计基础习题参考答案1-1 冯·诺依曼体系结构的基本原理:五大构成部分:输入、输出、CPU、控制器、存储器;程序存储、自动执行、逻辑判断功能;二进制的信息表示。

1-6 编辑、编译、链接、执行。

1-7 必须有一个主函数,它是程序执行的起点;一个C语言程序由函数构成;每一条可执行语句都必须由分号结束;函数的代码段必须由花括号对括住。

一个函数中的语句组由声明区和可执行语句区两部分构成。

1-8 三个一缩;每遇到一个结构时均缩格,每结束一个结构时回退;缩格格式必须对齐。

1-9 试给出以下问题的程序设计过程描述:1) 求两个数中之最大者。

#include<stdio.h>int main(void){float fA,fB;clrscr();printf("Please input two values(fA,fB)::"); /*输入要比较的两个数fA,fB*/scanf("%f,%f",&fA,&fB); /*格式化输入fA,fB*/if(fA>=fB) printf("the max is %f",fA);if(fA<fB) printf("the max is %f",fB);return 0;} /*main()函数结束*/2) 求三个数中之最大者。

#include<stdio.h>int main(void){float fA,fB,fC,fMax;printf("Please input three values(fA,fB,fC)::");/*fA,fB,fC是输入的3个数,fMax存放最大值*/scanf("%f,%f,%f",&fA,&fB,&fC);fMax=fA;/*假定fA最大*/if(fMax<fB) fMax=fB;if(fMax<fC) fMax=fC;printf("The max is %f\n",fMax);/*输出最大值*/return 0;} /*main()函数结束*/3) 求1+2+3+…+100,即。

C++2007试卷A答案

C++2007试卷A答案

命题人: 审批人: 试卷分类(A 卷或B 卷) A五邑大学 试 卷学期: 2006 至 2007 学年度 第 2 学期 课程: 程序设计原理 专业: 计算机、电子、交通 班级: 姓名: 学号:30分,1.5*20)1、 C++源程序文件的扩展名为( A )A) .CPP B) .C C) .DLL D) .EXE 2、 下列各组中全是合法的字符串常量的是 ( A )A) "a+b " , "1+2=5" , "china " B) 'abc ' , 'xyz ' , '5' C) '123' , "456" , "789" D) '\n ' , "1+2=3" , "aaa " 3、 如果a=1,b=2,c=3,d=4则条件表达式“a>b?a :b <c?c :d ” 的值为( A ) A. 3 B. 2 C. 1 D. 4 2 4、 关于类型转换的说法中,错误的是(D )A )如果a 为int 型变量,b 为char 型,则a+b 的值为int 型B )如果a 为float 型变量,b 为int 型,则a-b 的值为float 型C )如果a 为double 型变量,b 为float 型,则a*b 的值为double 型D )如果a 为int 型变量,b 为int 型,则a/(double)b 的值为int 型 2 5、 编译程序的功能是( C )A 、将汇编语言程序转换为目标程序B 、将汇编语言程序转换为高级语言程序C 、将高级语言程序转换为目标程序D 、将高级语言程序转换为汇编语言程序6、 逻辑运算符两侧运算对象的数据类型 ( D )A) 只能是0或1 B) 只能是0或非0数 C) 只能是整型或字符型数据 D) 可以是任何类型的数据逻辑运算符即是[ || ! &&]B)else字句与其之前最近的if配对C)else字句与其之后最近的if配对D)else字句与同一行上的if配对8、在函数声明中,下面哪项是没有的()A)函数参数的类型和参数名B)函数名C)函数类型D)函数体9、执行完C++程序中的下列3条语句后,c指向()int a,b,*c=&a; int * p=c; p=&b;A) p B) c C) b D) a10、定义如下一维数组:int a[5],*p=a; 则下面描述中,错误的是()A)表达式p=p+1是合法的B)表达式a=a+1是合法的C)表达式p-a是合法的D)表达式a+2是合法的11、以下对二维数组a的正确说明是( )A) int a[3][ ];B) float a(3, 4);C) double a[1][4];D) int a[10]={10*1};12、以下各项说法中,正确的是()A)当通过引用传递参数时,函数创建一个变量以存储参数的值B)当通过引用传递参数时,函数无法访问参数的值C)当通过引用传递参数时,调用程序创建一个临时变量以容纳参数的值D)当通过引用传递参数时,函数访问调用程序中参数的原始值13、下面不属于C++语言的基本数据类型的是()A)字符类型B)枚举类型C)逻辑类型D)整数类型14、下列关于类与对象的说法中,不正确的是()A)对象是类中的一个实例B)任何一个对象只能属于一个具体的类C)一个类只能有一个对象D)类与对象的关系和数据类型与变量的关系相似15、假定MyClass为一个类,那么下列的函数说明中,()为该类的析构函数。

2007年9月全国计算机二级(C语言程序设计)笔试真题及参考答案_百度文库

2007年9月全国计算机二级(C语言程序设计)笔试真题及参考答案_百度文库
page 2
(39)有以下程序 #include #include void fun(char s[][10],int n) { char t;int i,j; for(i=0;ifor(j=i+1,j/*比较字符串的首字符大小,并交换字符串的首字 符 */ if(s[0])>s[j][0]{t=s[0];s[0]=s[j][0];s[j][0]=t;} } main() { char ss[ 5][10]={“bcc”,”bbcc”,”xy”,”aaaacc””aabcc”} fun(ss,5); printf(“% s,%s\n”,ss[0],ss[4]); } 程序运行结果是 A) xy,aaaacc B) aaaacc,xy C) xcc,a abcc D) acc,xabcc (40) 在一个 C 语言源程序文件中所定义的全局变量,其作用域为: A) 所在文 件的全部范围 B) 所在程序的全部范围 C) 所在函数的全部范围 D) 由具体定义位置 和 extern 说明来决定范围 (41)有以下程序 #include int a=1; int f(int c) {st atic int a=2; c=c+1; return (a++)+c;} main() { int i,k=0; for(i=0;i<2;i++) {int a=3;k+=f(a);} k+=a; printf(“%d\n”,k); } 程序运行结果是 A) 14 B) 15 C) 16 D) 17 (42)有以下程序 #include 6 void fun(int n,int *p) { int f1,f2; if(n==1||n==2) *p=1; else { fun(n -1,&f1); fun(n-2,&f2); *p=f1+f2; } } main() { int s; fun(3,&s); printf("%d \n",s); } 程序的运行结果是 A)2 B)3 C)4 D)5 (43)若程序中有宏定义行:#define N 100 则以下叙述中正确的是 A)宏定义行中定义了标识符 N 的值为整数 100 B)在编 译程序对 C 源程序进行预处理时用 100 替换标识符 N C) 对 C 源程序进行编译时用 100 替换标识符 N D)在运行时用 100 替换标识符 N (44)以下关于 typedef 的叙述 错误的是 A)用 typedef 可以增加新类型 B)typedef 只是将已存在的类型用一个新的 名字来代表 C)用 typedef 可以为各种类型说明一个新名,但不能用来为变量说明一个 新名 D)用 typedef 为类型说明一个新名,通常可以增加程序的可读性 (45)有以下程 序 #include struct tt {int x;struct tt *y;} *p; struct tt a[4]={20,a+1,15, a+2,30,a+3,17,a}; main() { int i; p=a; for(i=1;i<=2;i++) {printf("%d,",p-> x); p=p->y;} } 程序的运行结果是 A)20,30, B)30,17 C)15,30, D)20,15, 7 (46)有以下程序 #include #include typedef struct{ char name[9];char se x; float score[2]; } STU; STU f(STU a) { STU b={"Zhao",'m',85.0,90.0}; int i; strcpy(a.name,b.name); a. sex=b.sex; for(i=0;i<2;i++) a.score=b.score; return a; } main() {STU c={"Qian",'f',95.0,92.0},d; d=f(c); printf("%s,%c ,%2.0f,%2.0f\n",d.name,d.sex,d.score[0],d.score[1]); } 程序的运行结果是 A) Qian,f,95,92 B)Qian,m,85,90 C)Zhao,m,85,90 D)Zhao,f,95,92 (47)设有以下定义 union data { int d1; float d2; }demo; 则下面叙述中错误的是 A)变量 demo 与 成员 d2 所占的内存字节数相同 C)变量 demo 和各成员的地址相同 (48)有以下程序 #include main() { int a=1,b=2,c=3,x; x=(a^b)&c; printf("%d\n",x); } 程序的 运行结果是 A)0 B)1 C)2 D)3 (49)读取二进制文件的函数调用形式为:fread(buffer ,size,coun

2007C程序设计期末试卷(A)

2007C程序设计期末试卷(A)

6 ;
for(i=0;i<N;i++) if (score[i]>=ave) { count++;
7 ;
}
printf("平均成绩=%.2f,高于平均分人数=%d\n",ave,count); fclose(fp); }
3.程序功能:假设a 数组中数已经由小到大顺序存放,以下程序把a 数组中相同的数删除得只剩一个,然后以每行3个数的形式输出a 数组的数。

【程序】
#include<stdio.h> #define N 12 void main()
{ int a[N]={3,3,4,4,4,6,9,9,23,23,90,90}; int i,j,n; n=N; i=N-1;
while( i>=0 ) { if (a[i]==a[i-1]) { for(j=i;j<n;j++)
8 ; 9 ;
} i-- ;
}
for(i=0;i<n;i++) { printf("%4d",a[i]); 10 ; } }
试题五、编程序 (共30分)
1.输入x ,按下式计算y 值并输出。

8
08
09
310
26
><≤≤⎪⎩⎪⎨⎧--++=x x x x x x x y 或
2.输出所有的“水仙花数”,水仙花数是指一个三位数,其各位数字立方和等于其本身。

如:153=13+53+33
3.输入一个正整数n ,计算1+1/2!+1/3!……1/n !的和并输出。

要求将计算阶乘的运算定义成函数。

《C语言程序设计》知识点总结

《C语言程序设计》知识点总结

C语言最重要的知识点总体上必须清楚的:1)程序结构是三种: 顺序结构、选择结构(分支结构)、循环结构。

2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。

3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是它的地址.4)bit是位是指为0 或者1。

byte是指字节, 一个字节 = 八个位.概念常考到的:1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。

C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。

2、define PI 3.1415926; 这个写法是错误的,一定不能出现分号。

3、每个C语言程序中main函数是有且只有一个。

4、在函数中不可以再定义函数。

5、算法:可以没有输入,但是一定要有输出。

6、for循环中for语句写成 for(i=0; i<100; i++); ,这个写法是有问题的,for的后面如果出现分号,相当于for循环体是空的。

7、break可用于循环结构和switch语句。

8、逗号运算符的级别最低,赋值的级别倒数第二。

第一章C语言的基础知识第一节、对C语言的基础认识1、C语言编写的程序称为源程序,又称为编译单位。

2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。

3、一个C语言程序有且只有一个main函数,是程序运行的起点。

第二节、熟悉vc++1、VC是软件,用来运行写的C语言程序。

2、每个C语言程序写完后,都是先编译,后链接,最后运行。

(.c---→.obj---→.exe)这个过程中注意.c和.obj文件时无法运行的,只有.exe文件才可以运行。

第三节、标识符1、标识符合法的要求是由字母,数字,下划线组成。

有其它元素就错了。

并且第一个必须为字母或则是下划线。

第一个为数字就错了2、标识符分为关键字、保留标识符、用户标识符。

关键字:不可以作为用户标识符号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(勤奋、求是、创新、奉献)
2007~2008学年第一学期考查试卷
主考教师:王明衍
学院_________________ 班级__________ 姓名__________ 学号___________
《程序设计基础(C)》课程试卷A
(本卷考试时间90 分钟)
一、选择题(本题共7小题,每小题2分,共14分)
1.在一个C语言程序中
A) main函数必须出现在所有函数之前
B) main函数可以在任何地方出现
C) main函数必须出现在所有函数之后
D) main函数必须出现在固定位置
2.下列关于C语言用户标识符的叙述中正确的是
A) 用户标识符中可以出现下划线和中划线(减号)
B) 用户标识符中不可以出现中划线,但可以出现下划线
C) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头
D) 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头
3.下列关于单目运算符++、--的叙述中正确的是
A) 它们的运算对象可以是任何变量和常量
B) 它们的运算对象可以是char型变量和int型变量,但不能是float型变量
C) 它们的运算对象可以是int型变量,但不能是double型变量和float型变量
D) 它们的运算对象可以是char型变量、int型变量和float型变量
.4. 以下能正确定义数组并正确赋初值的语句是
A) int N=5,b[N][N];
B) int a[1][2]={{1},{3}};
C) int c[2][]={{1,2},{3,4}};
D) int d[3][2]={{1,2},{3,4}};
5. 有以下程序段
int m=0,n=0; char c='a';
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);
若从键盘上输入:10A10<回车>,则输出结果是:
A) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,0
6. 变量的指针,其含义是指该变量的____________。

A.值
B.地址
C.名
D.一个标志
7. 要存放35个学生的学号、姓名、成绩。

在如下的定义中,不正确的是________。

A.struct student
B. struct student stu[35]
{int sno; {int sno;
char name[20]; char name[20];
float score;} stu[35]; float score;};
C. struct
D. struct student
{int sno; {int sno;
char name[20]; char name[20];
float score;} stu[35]; float score};
struct student stu[35];
二、填空题(本题共8小题,每小题2分,共16分)
1. 若有以下定义,则计算表达式y+=y-=m*=y后的y值是______
int m=5,y=2;
2. 在C语言中的实型变量分为两种类型,它们是______和______
3. 结构化程序设计规定的三种基本结构是______结构,______结构和______结构。

4. 设有程序段
int s=0;i=0;
do
{ s=s+i;
i++;
}while(i<=100);
则do…while的循环体被执行_________次,s=__________。

5. C语言提供的三种逻辑运算符是____________、____________和____________。

6. 在执行if语句时,先对表达式求解,其值为_______,按“假”处理,若表达式的值为_______,
按“真”处理,执行指定的语句。

7. .以下程序运行后的输出结果是
int a=5;
fun(int b)
{ static int a=10;
a+=b++;
printf("%d ",a);
}
main()
{ int c=20;
fun(c);
a+=c++;
printf("%d\n",a);
}
8. *p最终值是( )
static int a[][4]={1,2,3,4,5,6,7,8};
int *p;
p=a;p+=3;
三、按要求写出判断表达式:(本题共3小题,每小题3分,共9分)
1. 写出1<y<5或y>20的表达式
2. 写出x与y都是负数并且x>y的表达式.
3. 变量ch的值是大写的英文字母。

四.计算表达式(本题共3小题,每小题3分,共9分)
1.若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是______
2. 当m=2,n=1,a=1,b=2,c=3时,执行完d=(m=a!=b)&&(n=b>c)后,n的值为______,m的值为______
3. 若a=2, b=3, x=3.5, y=2.5; 则表达式x+a%3*(int)(x+y)%2/4值是_____________。

五、读程序写出程序结果(本题共5小题,每小题3分,共15分)
1. 以下程序的输出结果为______
#include <stdio.h>
main()
{int a=325; double x=3.1415926;
printf("a=%+06d x=%+e\n",a,x);
}
2.若a,b均为整型变量,则以下语句实现的功能是_______
a+=b; b=a-b; a-=b;
3.
main( )
{
int i=3,j=2
char *a="DCBA";
printf("%c%c\n",*(a+i),*(a+j)); 输出结果:
}
4.
main()
{ int a[]={1,3,5,7,9,10,11},*p;
p=a+1;
printf(“%d\n”,*(p+3)*a[2]); 输出结果
}
5.以下程序的输出结果是________
#include "stdio.h"
main()
{int a,s,n,count;
a=2;s=0;n=1;count=1;
while(count<=7) {n=n*a;s=s+n;++count;}
printf("s=%d",s);
}
六、编写程序(本题共5小题,第1,2题,每题6分,第3题5分,第4,5题,每题10
分共37分)
1. 某百货公司为了促销,采用购物打折的办法。

(1)在1000元以上者,按九五折优惠;
(2)在2000元以上者,按九折优惠;
(3)在3000元以上者,按八五折优惠;
(4)在5000元以上者,按八折优惠。

编写程序,输入购物款数,计算并输出优惠价。

(要求用switch语句编写)
2. 使用do-while语句求1至1000之间满足"用3除余2,用5除余3,用7除余2"的数,且一行只显
示5个结果
3.计算下面多项式的前100项的和并输出结果。

S=1-1/2+1/3-1/4+……
4. 输入一个3*5的整型矩阵,输出其中的最大值最小值和它们的下标。

5 编写函数判断一个数n是否是素数(如果是素数,返回为1;否则返回0),
调用该函数,验证6~100之间的每一个偶数都可以表示为两个素数之和。

相关文档
最新文档