[0039]《C语言》2016秋季作业试题和答案

合集下载

计算机三级上机C语言试题及答案

计算机三级上机C语言试题及答案

计算机三级上机C语言试题及答案2016年计算机三级上机C语言试题及答案2016年全国计算机等级考试分别是3月26日-29日、9月24日-27日和12月10日,依次为第45次、第46次和第47次考试。

其中3月份和9月份考试开考全部级别全部科目,12月份考试开考一、二级所有科目。

为了考生们能更加熟悉计算机三级考试C语言的试题,店铺特意为大家整理了计算机三级C语言考试题及答案,希望能帮助大家顺利通过考试!★题目1请编写一个函数jsValue(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。

最后调用函数writeDat()读取10组数据,分别得出结果且把结果输出到文件out.dat中。

部分源程序存在文件prog1.c中。

例如:若输入17 5 则应输出:19,23,29,31,37。

请勿改动主函数main()和写函数writeDat()的内容。

#include#includevoid readwriteDat();int isP(int m){int i;for(i=2;i if(m % i==0)return 0;return 1;}void num(int m,int k,int xx[]){ int s=0;for(m=m+1;k>0;m++)if(isP(m)) { xx[s++]=m; k--;}}main(){int m,n,xx[1000];clrscr();printf("nPlease enter two integers:");scanf("%d%d",&m,&n);num(m,n,xx);for(m=0;m printf("%d ",xx[m]);printf("n");readwriteDat();}void readwriteDat(){int m,n,xx[1000], i;FILE *rf,*wf;rf=fopen("in.dat","r");wf=fopen("out.dat","w");for(i=0;i<10;i++){fscanf(rf,"%d %d",&m,&n);num(m,n,xx);for(m=0;m }fclose(rf);fclose(wf);}★ 题目2已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。

2016年c语言二级试题及答案

2016年c语言二级试题及答案

2016年c语言二级试题及答案2016年C语言二级试题及答案一、选择题1. 下列关于C语言的描述中,错误的是()。

A. C语言是一种高级语言B. C语言可以直接在操作系统上运行C. C语言具有结构化的特点D. C语言具有丰富的库函数答案:B2. 在C语言中,用于定义整型变量的关键字是()。

A. intB. floatC. charD. double答案:A3. 下列选项中,不是C语言标准库函数的是()。

A. printf()B. scanf()C. strcpy()D. strcat()答案:C二、填空题1. 在C语言中,一个整型变量占用的字节数是()。

答案:42. C语言中,用于定义字符常量的是()。

答案:单引号3. C语言中,用于定义浮点型变量的关键字是()。

答案:float三、简答题1. 请简述C语言中数组的定义方式。

答案:C语言中数组的定义方式是通过指定数组的类型、名称和大小来定义的。

例如,定义一个整型数组可以写作:`int array[10];`,其中`int`是数组的类型,`array`是数组的名称,`10`是数组的大小。

2. 请说明C语言中指针和数组的关系。

答案:在C语言中,指针和数组有密切的关系。

指针可以用于访问数组元素,数组名在大多数情况下可以作为指向数组第一个元素的指针使用。

例如,如果有一个数组`int arr[10];`,那么`arr`可以作为指向`arr[0]`的指针。

四、编程题1. 编写一个C语言程序,实现计算两个整数的和。

答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和是:%d\n", sum); return 0;}```2. 编写一个C语言程序,实现字符串的反转。

2016年3月份(80---110上)全国计算机等级考试二级C语言答案与与真题课件

2016年3月份(80---110上)全国计算机等级考试二级C语言答案与与真题课件

2016年3月份全国计算机等级考试二级C语言答案与与真题第81套:程序填空:下列给定程序中,函数fun的功能是:把形参a所指数组中的最小值放在元素a[0]中,接着把a所指数组中的最大值放在a[1]元素中;再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3],以此类推。

例如,若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7;则按规则移动后,数据排列为:1、9、2、8、3、7、4、6、5。

形参n中存放a所指数组中数据的个数。

规定fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。

请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:部分源程序在文件BLANK1.C中。

不得增行或删行,也不得更改程序的结构!【参考答案】(1)a[i](2)a[j](3)a[j](2)程序修改:下列给定程序中函数fun的功能是:用递归算法计算斐波拉契数列中第n项的值。

从第1项起,斐波拉契数列为:1、1、2、3、5、8、13、21、……例如,若给n输入7,则该项的斐波拉契数值为13。

请改正程序中的错误,使它能得出正确结果。

注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。

【参考答案】(1)去掉分号(2)case 1:case 2:return 1;(3)程序编辑:某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记录的ave成员中。

例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。

注意:部分源程序在文件PROG1.C中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun部位中填入你编写的若干语句。

【参考答案】void fun(STREC *a){int i;a->ave=0.0;for(i=0;i<N;i++)a->ave=a->ave+a->s[i]; /*求各门成绩的总和*/a->ave/=N; /*求平均分*/}第82套(1)程序填空:下列给定程序中,函数fun的功能是进行数字字符转换。

2016秋季电大c语言试题及答案

2016秋季电大c语言试题及答案

2016秋季电大c语言试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个函数?A. structB. intC. voidD. return答案:B2. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A3. 下列哪个选项不是C语言中的控制结构?A. if-elseB. switch-caseC. forD. goto答案:D4. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello";B. char str[] = 'Hello';C. int str[] = "Hello";D. int str = "Hello";答案:A5. 以下哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. variable$2答案:B6. C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B7. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A8. 下列哪个选项是C语言中的合法数组定义?A. int arr[10];B. int arr[] = {1, 2, 3};C. int arr[10] = {1, 2, 3};D. All of the above答案:D9. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlenB. strcpyC. strcatD. strcmp答案:A10. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. fprintfD. All of the above答案:D二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个整型变量的关键字是________。

大学《C语言》试题及参考答案

大学《C语言》试题及参考答案

(2)编写程序输出1-1000之间能够被5整除的所有整数,并求出这些整数的和输出。

(3) 从键盘输入10个正的整数,找出其中的素数输出。

答: #include#includeint f(int x){int i;for(i=2;i<=sqrt(x);i++)if(x%i==0) return 0;return 1}void main(){int a[10],i,n=0,j,t;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)if( f(a[i]) n++;else a[i]=0;for(i=0;i<9;i++)for(j=0;j<9-i;j++)if( a[j]<A[J+1] ) {t=a[j];a[j]=a[j+1];a[j+1]=t;}printf("共有%d个素数,它们是:",n);(4)编写程序打印下列图案答:#include "stdio.h"void main() {for (int i = 0;i <= 4;i++) {for (int j = 0;j <= i;j++) { printf("*");}printf("\n");}}(5)写一个函数计算一个字符串的长度,再写一个测试函数测试其功能。

不允许使用strlen函数答:#include "stdio.h"void convert(char *str){for (int i = 0; str[i] != '\0'; i++) {if (str[i] >= 'A' && str[i] <= 'Z') {str[i] = str[i] - 'A' + 'a';}}}int main(){char str[20] = "aZcdABxDEF123";convert(str);printf("%s\n", str);return 0;}(6)从键盘上任意输入50个整数存放在a数组中,找出a数组中所有偶数存放在数组b 中,并对b数组的值按降序排列。

2016年03月全国计算机等级考试二级《C语言》真题及详解

2016年03月全国计算机等级考试二级《C语言》真题及详解

2016年03月全国计算机等级考试二级《C语言》真题(总分100, 考试时间90分钟)一、选择题1. 有以下定义:struct data{ int i;char c;double d;}x;以下叙述中错误的是______。

A x的内存地址与x. i的内存地址相同B struct data是一个类型名C 初始化时,可以对x的所有成员同时赋初值D 成员i、c和d占用的是同一个存储空间答案:D[解析] 变量i、c、d是结构体变量x中三个不同的成员,占用不同的存储空间。

2. 以下函数的功能是:计算a的n次方作为函数值返回。

double fun(double a,int n){ int i;double s=1.0;for(i=1;i<=n;i++)s=______;return s;}为实现上述功能,函数中下划线处应填入的是______。

A s*iB s*aC s+i*iD s+a*a答案:B[解析] s为a的(i-1)次方的结果,所以令s=s*a即可得到a的i次方。

3. 有以下程序:#include<stdio.h>#include<string.h>main( ){ char str[ ]={"Hello,Beijing"};printf("%d,%d\n",strlen(str),sizeof(str));}程序的运行结果是______。

A 13,13B 13,14C 13,15D 14,15答案:B[解析] strlen返回字符串的长度,不包含字符串末尾的结束字符"\0",结果为13;sizeof返回字符串所占存储空间的大小,由于字符串最后要加上一个"\0",所以结果为13+1=14。

4. 若有说明:typedef struct{int a;char c;}w;,则以下叙述正确的是______。

A 编译后系统为w分配5个字节B 编译后系统为w分配6个字节答案:D[解析] w是一个自定义类型,不是变量,故编译后系统不为w分配存储空间。

2016年3月份全国计算机等级考试二级C语言答案及及真题


作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词 之间有若干个空格隔开,一行的开始没有空格。 注意:部分源程序在文件 PROG1.C 中。 请勿改动 main 函数和其他函数中的任何内容,仅在函数 fun 的花括号中填入所 编写的若干语句。
int fun(char *s) { int i,j=0; for(i=0;s[i]!='\0';i++) if(s[i]!=' '&&(s[i+1]==' '||s[i+1]=='\0')) /*如果一个字母的下一个字符为空格或者结束标记,则表示一个单词结束*/ j++; return j; /*返回单词个数*/ } 第(2)套: (1)程序填给定程序中,函数 fun 的功能是:计算形参 x 所指数组中 N 个数的 平均值(规定所有数均为正数),作为函数值返回,并将大于平均值的数放在形参 y 所指数组 中,在主函数中输出。 例如,有 10 个正数:46、30、32、40、6、17、45、15、48、26,其平均值为 30.500000。 主函数中输出:46 32 40 45 48。
组中 N 个数的平均值(规定所有数均为正数), 将所指数组中大于平均值的数据移 至数组的前部, 小于等于平均值的数据移至 x 所指数组的后部,平均值作为函数 值返回,在主函数中输出平均值和移动后的数据。 例如, 有 10 个正数: 46、 30、 32、 40、 6、 17、 45、 15、 48、 26, 平均值为 30.500000。 移动后的输出为:46、32、40、45、48、30、6、17、15、26。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序在文件 BLANK1.C 中。 不得增行或删行,也不得更改程序的结构!

计算机等级C语言考试真题及答案

计算机等级C语言考试真题及答案2016年计算机等级C语言考试真题及答案一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为A)PAD图 B)N-S图 C)结构图 D)数据流图(2)结构化程序设计主要强调的是A)程序的规模B)程序的效率C)程序设计语言的先进性D)程序易读性(3)为了使模块尽可能独立,要求A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(4)需求分析阶段的任务是确定A)软件开发方法B)软件开发工具C)软件开发费用D)软件系统功能(5)算法的有穷性是指A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是A)快速排序 B)冒泡排序 C)直接插入排序 D)堆排序(7)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A)e3,e1,e4,e2 B)e2,e4,e3,e1 C)e3,e4,e1,e2 D) 任意顺序(8)将E-R图转换到关系模式时,实体与联系都可以表示成A)属性 B)关系 C)键 D)域(9)有三个关系R、S和T如下:RB C Da 0 k1b 1 n1SB C Df 3 h2a 0 k1n 2 x1TB C Da 0 k1由关系R和S通过运算得到关系T,则所使用的运算为A)并 B)自然连接 C)笛卡尔积 D)交(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字(11)以下叙述中正确的是A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出(12)下列可用于C语言用户标识符的一组是A)void, define, WORD B)a3_3,_123,Car C)For, -abc, IF CaseD)2a, DO, sizeof(13)以下选项中可作为C语言合法常量的是A)-80 B)-080 C)-8e1.0 D)-80.0e(14)若有语句:char *line[5];,以下叙述中正确的是A) 定义line是一个数组,每个数组元素是一个基类型为char为指针变量B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C) 定义line是一个指针数组,语句中的*号称为间址运算符D) 定义line是一个指向字符型函数的指针(15)以下定义语句中正确的是A)int a=b=0; B)char A=65+1,b=′b′; C)float a=1,*b=&a,*c=&b; D)double a=0?0;b=1.1;(16)有以下程序段char ch; int k;ch=′a′;k=12;printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12D)a,97,k=12(17)有以下程序main(){ int i,s=1;for (i=1;i<50;i++)if(!(i%5)&&!(i%3)) s+=i;printf("%d\n",s);}程序的输出结果是A)409 B)277 C)1 D)91(18)当变量c的值不为2、4、6时,值也为"真"的表达式是A)(c==2)||(c==4)||(c==6)B)(c>=2&& c<=6)||(c!=3)||(c!=5)C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&&c<=6)&&(c%2!=1)(19)若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b) a=b; c=a;if(c!=a) c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是A)程序段有语法错 B)3,5,3 C)3,5,5 D)3,5,7(20)有以下程序#includemain(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0:a++; break;case 1:b++; break;}case 2:a++; b++; break;case 3:a++; b++;}printf("a=%d,b=%d\n",a,b);}程序的运行结果是A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1(21)下列程序的输出结果是#include "stdio.h"main(){ inti,a=0,b=0;for(i=1;i<10;i++){ if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b); }A)a=4,b=4 B)a=4,b=5 C)a=5,b=4 D)a=5,b=5(22)已知#int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对(23)下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A)3 B)4 C)1 D)2(24)以下错误的定义语句是A)int x[][3]={{0},{1},{1,2,3}}; B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; D)int x[][3]={1,2,3,4};(25)有以下程序void ss(char *s,char t){ while(*s){ if(*s==t)*s=t-′a′+′A′;s++; } }main(){ cha r str1[100]="abcddfefdbd",c=′d′;ss(str1,c); printf("%s\n",str1);}程序运行后的输出结果是A)ABCDDEFEDBD B)abcDDfefDbD C)abcAAfefAbAD)Abcddfefdbd(26)有如下程序main(){ char ch[2][5]={"6937","8254"},*p[2];int i,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>′\0′;j+=2)s=10*s+p[i][j]-′0′;printf("%d\n",s);}该程序的输出结果是A)69825 B)63825 C)6385 D)693825(27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是A)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]);(28)以下叙述中错误的是A)在程序中凡是以"#"开始的语句行都是预处理命令行 B)预处理命令行的最后不能以分号表示结束 C)#define MAX 是合法的宏定义命令行 D)C程序对预处理命令行的处理是在程序执行的过程中进行的(29)设有以下说明语句typedef struct{ int n;charch[8];} PER;则下面叙述中正确的是A)PER 是结构体变量名 B)PER是结构体类型名 C)typedef struct 是结构体类型 D)struct 是结构体类型名(30)以下叙述中错误的是A)gets函数用于从终端读入字符串B)getchar函数用于从磁盘文件读入字符C)fputs函数用于把字符串输出到文件D)fwrite函数用于以二进制形式输出数据到文件(31)以下能正确定义一维数组的选项是A)int a[5]={0,1,2,3,4,5}; B)char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′};C)char a={′A′,′B′,′C′}; D)int a[5]="0123";(32)有以下程序#includemain(){ char p[]={′a′, ′b′, ′c′},q[10]={ ′a′,′b′, ′c′};printf("%d%d\n",strlen(p),strlen(q));}以下叙述中正确的是A)在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B)由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C)由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3D)由于p和q数组中都没有字符串结束符,故长度都不能确定(33)有以下程序#include#includevoid fun(char ?*s[],int n){ char ?*t; int i,j;for(i=0;i<n-1;i++)< bdsfid="259" p=""> </n-1;i++)<> for(j=i+1;j<n;j++)< bdsfid="261" p=""> </n;j++)<> if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;}}main(){ char ?*ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};fun(ss,5); printf("%s,%s\n",ss[0],ss[4]);}程序的运行结果是A)xy,aaaacc B)aaaacc,xy C)bcc,aabcc D)aabcc,bcc(34)有以下程序#includeint f(int x){ int y;if(x==0||x==1) return(3);y=x?*x-f(x-2);return y;}main(){ int z;z=f(3); printf("%d\n",z);}程序的运行结果是A)0 B)9 C)6 D)8(35)下面程序段的运行结果是char str[]="ABC",*p=str;printf("%d\n",*(p+3));下载文档。

2016计算机二级《C语言》基础练习题及答案(1)

2016年计算机二级《C语言》基础练习题及答案(1)1[简答题]下列给定程序中函数fun的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。

例如,变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。

请改正程序中的错误,使它得出正确的结果.注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:参考解析:【参考答案】(1)t=*x;*X=Y;(2)return(t);或return t;【考点分析】本题考查:指针型变量的使用;通过return语句完成函数值的返回.【解题思路】首先,定义变量t作为中间变量,然后进行数据交换,注意参数x是指针变量,交换时应使用*x,最后确定返回值;根据代码b=fun(8a'b),可以知道返回值将赋给变量b,而b 中应存放交换前*x中的值,所以函数应返回变量t。

2[单选题] 有以下程序程序运行后的输出结果是A.3B.1C。

2D.4参考答案:C参考解析:本题考查函数的递归调用,将函数参数带入函数中,一步步递归即可得到结果,结果为2,选项C正确。

3[单选题]以下叙述中正确的是()A。

在算法设计时,可以把复杂任务分解成一些简单的子任务B.在C语言程序设计中,所有函数必须保存在一个源文件中C。

只要包含了三种基本结构的算法就是结构化程序D。

结构化程序必须包含所有的三种基本结构。

缺一不可参考答案:A参考解析:C语言的程序中,函数不一定都放在同一个源文件中,可以分别放在不同源文件中,通过#inClude命令来引用,所以B错误.结构化程序可以包含三种基本结构中的一种或几种,所以C,D错误。

4[单选题]若有语句:int a[3][4],(。

P)[4];P=a;,则以下选项中叙述错误的是( )。

A。

系统将开辟一个名为P的二维数组,“o][o]中的值即为a[o][o]中的值B.P +1代表a[1][0]的地址C.P中将存放a数组的首地址D.P+2代表a数组最后一行的首地址参考答案:A参考解析:(+P)[4]定义了一个数组指针。

[0039]《C语言》2016秋季作业试题和答案

[0039]《C语言》讲师:邹显春Z的值是3i=1,max=0或max=i=0;max=i; a[max]36、设int m=3;float n=12.6;char ch=’a’;,若用输入语句实现上述三个变量的初始化结果且键入数据形式为:3,12.6a<回车换行>,则scanf语句应是___ ________。

“%d,%f%c”,&m,&n,&ch37、设int i;float f=3.14;,执行i=(int)f;后,变量f的值是____________。

3.1438、若定义函数时类型缺省,则该函数默认的类型是____ _______。

extern39、设char s[]=”’Name\Address ”;,s的长度是___________。

1540、设float a,b,c;,若a、b和c分别为三角形的三条边长,它们“能构成等边三角形”的逻辑表达式是____________。

(a+b=c)&&(a+c=b)&&(b+c>a)41、编写C语言程序的一般步骤什么?在VC环境下,调试程序的基本步骤有哪些?调试程序中常见的错误有哪些?如何解决发现这些错误?编写C语言程序的一般步骤:分析问题、构建算法、描述算法、编码、调试。

在VC环境下,调试程序的基本步骤有编辑、编译、连接、执行调试程序中常见的错误有语法错误和逻辑错误。

其中语法错误通过编译来实现,逻辑错误通过单步追踪和设置断点的方法来发现逻辑错误。

42、在C语言为什么规定对所有用到的变量要"先定义,后使用”?这样的做有什么好处?对所有用到的变量进行"先定义,后使用”的原因:凡未被事先定义的,C语言不把他认作变量,这样的目的能是为了保证程序中的变量能被正确的使用。

好处:(1)每一个变量被指定为一个确定类型,在编译时C语言就能为其分配相应的存储单元。

(2)指定每一个变量属于一个类型,便于在编译时检查在程序变量进行的运算合法性。

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

[0039]《C语言》讲师:邹显春Z的值是3i=1,max=0或max=i=0;max=i;?a[max]?36、设intm=3;floatn=12.6;charch=’a’;,若用输入语句实现上述三个变量的初始化结果且键入数据形式为:3,12.6a<回车换行>,则scanf语句应是___________。

“%d,%f%c”,&m,&n,&ch37、设inti;floatf=3.14;,执行i=(int)f;后,变量f的值是____________。

3.1438、若定义函数时类型缺省,则该函数默认的类型是___________。

extern?39、?设chars[]=”’Name\Address”;,s的长度是___________。

1540、?设floata,b,c;,若a、b和c分别为三角形的三条边长,它们“能构成等边三角形”的逻辑表达式是____________。

(a+b=c)&&(a+c=b)&&(b+c>a)?41、编写C语言程序的一般步骤什么?在VC环境下,调试程序的基本步骤有哪些?调试程序中常见的错误有哪些?如何解决发现这些错误?编写C语言程序的一般步骤:分析问题、构建算法、描述算法、编码、调试。

在VC环境下,调试程序的基本步骤有编辑、编译、连接、执行调试程序中常见的错误有语法错误和逻辑错误。

其中语法错误通过编译来实现,逻辑错误通过单步追踪和设置断点的方法来发现逻辑错误。

42、在C语言为什么规定对所有用到的变量要"先定义,后使用”?这样的做有什么好处?对所有用到的变量进行"先定义,后使用”的原因:凡未被事先定义的,C语言不把他认作变量,这样的目的能是为了保证程序中的变量能被正确的使用。

好处:????(1)每一个变量被指定为一个确定类型,在编译时C语言就能为其分配相应的存储单元。

????(2)指定每一个变量属于一个类型,便于在编译时检查在程序变量进行的运算合法性。

43、请给出C语言的主要数据类型,请你至少给出4种以上的数据类型实例。

主要数据类型有:C语言包括基本类型(整型、字符型、浮点型(单、双精度型)枚举类型)、构造类型(数组、结构体、共用体类型)、指针类型、空类型。

整数型inta=2;短整型shortb=3;单精度floatc=1;字符型chard=abc44、一个C程序由哪些要素构成,请给出一个C语言程序进行说明。

一个C程序由若干函数组成,但至少一个主函数。

而每个函数包括函数的首部和函数体。

程序:/*注释开始?**filename:pun.c**?**(C)2013RongbingTang**?**Thisprogramprintsastatement?**"ToC,ornottoC:that'snotaproblem."注释结束*?45、?编一程序求:1+(1+2)+(1+2+3)+……+(1+2+3+……+10)。

#include"stdio.h"main(){inti,s=0,t=0;?for(i=1;i<=10;i++){t+=i;s+=t;}printf("%d",s);}46、C语言程序包括哪些三种基本结构?请给出这三种基本结构的传统流程图或N-S图C语言程序包括哪些三种基本结构:顺序结构、选择(或分支)结构、循环结构.三种基本结构图示依据作业情况评定&Oslash;顺序结构顺序结构是一种最基本、最简单的程序结构。

先执行A,再执行B,A与B是按照顺序执行。

&Oslash;选择(或分支)结构根据条件是否成立而去执行不同的程序模块。

当条件P为真时,执行A,否则执行B,即要么执行A,要么执行B。

&Oslash;循环结构循环结构是指重复执行某些操作,重复执行的部分称为循环体。

47、什么是函数的原型?其作用是什么?在这些作用中如何使用?答:若自定义了一个函数,则该函数的首部称之为该函数的原型函数原型的作用:调用函数的接口;用于原型声明其中函数的调用方法:函数(实在参数)函数的原型声明:当被调用函数在调用函数之后时,必须进行原型声明,在程序最前面或在调用函数中进行声明,声明方法:函数的首部;48、什么是内部函数和外部函数?内部函数:一个函数只能被本文件中的其它函数调所用,在定义时使用static。

外部函数:一个函数不光是被本文件中其它函数调用,还可以被其它文件中的函数调用,定义时用extern。

extern可缺省。

49、讨论题1.设floata,b,c;,若a、b和c分别为三角形的三条边长,它们“能构成等边三角形”的逻辑表达式是____________。

2.设inti;floatf=3.14;,执行i=(int)f;后,变量f的值是____________。

3.设chars[]=”\t\’Name\\Address\n”;,s的长度是___________。

4.设intx=1,y=3,z;,执行z=x>y?++x:y++;后,z的值是____________。

5.设intm=3;floatn=12.6;charch=’a’;,若用输入语句实现上述三个变量的初始化结果且键入数据形式为:3,12.6a<回车换行>,则scanf语句应是___________。

6.若定义函数时类型缺省,则该函数默认的类型是___________。

7.设inta[5]={l,3,5,7,9},*p=&a[2];,则++(*p)的值是_______8.以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。

请填空。

main()????{floatx[1000],sum=0.0,ave,a;????intn=0,i;????printf("Entermark:\n”);scanf("%f”,&a);????while( (1))?{sum___(2)____;x[n]=a ;n++;scanf("%f”,&a);}????ave=____(3)___;????printf("Output:\n”);????printf("ave=%f\n”,ave);????for(i=0;i<N<SPAN>;i++)?if(x[i]<AVE)&NBSP;?printf(%5f.2”,x[i]);?}9.下列程序的功能是在数组a中寻找最大值的下标,输出数组a中的最大值及其下标。

请填空:??#include"stdio.h"voidmain(){inta[10],i,max;???for(i=0;i<10;i++)??????scanf("%d",&a[i]);???for(??(1)???;i<10;i++)??????if(a[i]>a[max])???(2)?????????printf("最大值为:%d?,下标是:%d",????(3)?,max);}10、下列程序的功能是:从键盘输入10数,找出其中的素数并按降序输出这些素数。

请根据给定的程序和程序的功能完善该程序。

(每空2分,共6分)。

#include#includeintf(intx){inti;?for(i=2;i<=sqrt(x);i++)??if(x%i==0)return0;?????(1)??}voidmain(){inta[10],i,n=0,j,t;?for(i=0;i<10;i++)??scanf("%d",&a[i]);?for(i=0;i<10;i++)??if((2))n++;??elsea[i]=0;?for(i=0;i<9;i++)??for(j=0;j<9-i;j++)????if((3)?){t=a[j];a[j]=a[j+1];a[j+1]=t;}?printf("共有%d个素数,它们是:",n);?for(i=0;i<9;i++)???if(a[i]!=0)printf("%d?",a[i]);}11.从键盘输入10个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩。

#defineN10structstudent{charname[20];charsex;intscore;}stu[N];voidmain(){inti;floataver,sum=0;for(i=0;i<N<SPAN>;i++){scanf(“%d,%c%s”,(1)_________);/*第一空*/sum=sum+_(2)________;/*第二空*/}aver=_(3)_________;/*第三空*/printf(“aver=%6.2f\n”,aver);}12.从键盘输入一串字符(以“?”作为结束标志),保存到文本文件text.txt中。

#include“stdio.h”voidmain(){FILE(1)______;/*第一空*/charch;if((fp=fopen(“text.txt’’,_(2)______))==NULL)exit(0);/*第二空*/while((ch=getchar())!=’?’)fputc(ch,_(3)_______);/*第三空*/ fclose(fp);}13.用递归方法计算学生年龄,已知第一位学生年龄为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。

递归公式如下:age(n)=intage(intn){if(n==1)return(__(1)_____);/*第一空*/elsereturn(_(2)________);/*第二空*/}voidmain(){printf(‘‘%d\n”,_(3)________);/*第三空*/}14.依据下列提供的程序回答问题(1)提供程序的功能是什么???#include"stdio.h"voidmain(){intscore[10],i,max;???for(i=0;i<10;i++)?????{printf("请输入第%d个学生的成绩(0-100):\n",i+1);?????scanf("%d",&score[i]);}???for(i=1,max=0;i<10;i++)??????if(score[i]>score[max])?max=i;?????????printf("最高成绩为:%d,最高成绩是第%d个:%d",score[max],max+1); }(2)请依据提供的程序画出其中的传统流程图或N-S图。

相关文档
最新文档