C语言2016下半年第二次作业
2016年c语言二级试题及答案
![2016年c语言二级试题及答案](https://img.taocdn.com/s3/m/449f2d64eef9aef8941ea76e58fafab068dc445b.png)
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语言程序,实现字符串的反转。
C语言 第2次作业
![C语言 第2次作业](https://img.taocdn.com/s3/m/e5fbb7e433d4b14e852468ac.png)
1 .C语言中规定函数的返回值的类型是由()。
A.return语句中的表达式类型所决定B.调用该函数时系统临时决定C.调用该函数时的主调用函数类型所决定D.在定义该函数时所指定的函数类型所决定参考答案:D2 .以下不能正确进行字符串赋初值的语句是____。
A.char str[5]="good“B.! char str[]=goodC.! char *str=goodD.! char str[5]={'g','o','o','d'}!参考答案:A3 .C语言中_______。
A.能使用do-while语句构成的循环B.do-while语句构成的循环必须用break语句才能退出C.do-while语句构成的循环,当while语句中的表达式为非零时结束循环D.do-while语句构成的循环,当while语句中的表达式值小于零时结束循环参考答案:A4 .以下选项中,与k=n++完全等价的表达式是_____。
A.k=n,n=n+1B.n=n+1,k=nC.k=++nD.k+=n+1参考答案:A5 .有定义语句:int b;char c[10]; ,则正确的输入语句是_____。
A.scanf("%d%s",&b,&c);B.scanf("%d%s",&b,c);C.scanf("%d%s",b,c);D.scanf("%d%s",b,&c);参考答案:B6 .若有定义:int aa[8];则以下表达式中不能代表数组元aa[1]的地址的是_____。
A.&aa[0]+1B.&aa[1]C.&aa[0]++D.aa+1参考答案:D7 .若i 、j 已定义为int 型,则以下程序段中语句printf( “%d ”,i*j); 的执行次数是_____。
计算机二级C语言练习题及答案
![计算机二级C语言练习题及答案](https://img.taocdn.com/s3/m/47f69bc1f71fb7360b4c2e3f5727a5e9856a2737.png)
计算机二级C语言练习题及答案2016计算机二级C语言练习题及答案计算机等级考试要取得好成绩平时一定要多加练习,提高做题技巧和速度。
下面是店铺为大家整理的2016计算机二级C语言练习题及答案,希望对大家有帮助!练习一1: 下列程序定义了n×n的二维数组,并在主函数中自动赋值。
请编写函数 fun(int a[][n]),该函数的功能是:使数组左下半三角元素中的值全部置成0。
答案:int fun(int a[][N]){int I,j;for(i=0;ifor(j=0;j<=I;j++)a[i][j]=0;}2: 下列程序定义了n×n的二维数组,并在主函数中赋值。
请编写函数fun,函数的功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s。
答案:double fun(int w[][N]){int I,j,k=0;double s=0.0;for(j=0;j{s+=w[0][j];k++;}for(j=0;j{s+=w[N-1][j];k++;}for(i=1;i<=N-2;i++){s+=w[i][0];k++;}for(i=1;i<=N-2;i++){s+=w[i][N-1];k++;}return s/=k;}3: 请编写一个函数void fun(int tt[m][n],int pp[n]),tt指向一个m 行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。
二维数组中的数已在主函数中赋予。
答案:void fun(int tt[M][N], int pp[N]){int I,j,min;for(j=0;j{min=tt[0][j];for(i=0;i{if (tt[i][j]min=tt[i][j];}pp[j]=min;}}4: 请别写函数fun,函数的功能使求出二维数组周边元素之和,作为函数值返回。
二维数组中的值在主函数中赋予。
C语言 课后作业题
![C语言 课后作业题](https://img.taocdn.com/s3/m/674e0ea4be1e650e53ea9935.png)
C语言作业题【输出形式】用户在下一行显示输出结果【样例输入】3.47【样例输出】3【样例说明】与输入值3.47接近的整数为3和4,3.47比3.5小,舍掉小数部分,结果为3。
【评分标准】结果完全正确得20分,每个测试点4分。
提交程序名为:c0104.c。
当前编程题:第一次作业--- 计算空格换行个数5. 【问题描述】编写一程序,分别计算所输入的字符串中空格,换行符的个数。
【输入形式】输入可以是键盘上的任意字符。
【输出形式】分别输出空格,换行符的个数,输出的结果一行显示,数字之间以空格格开。
【输入样例】bb ss pp=fz【输出样例】2 1【样例说明】字符b与s之间有一个空格,s与p之间有一个空格,p与f之间有一个换行。
【评分标准】结果完全正确得20分,每个测试点4分。
提交程序名为:c0105.c。
当前编程题:第一次作业--- 整数组合(选做题)6. 【问题描述】假设unsigned short类型占16位,x、y、z都是short类型。
编写一程序,从键盘输入x,y 的值(十进制形式),然后将x的高8位作为z的高8位,y的高8位作为z的低8位,最后输出z的值(十进制形式)。
【输入形式】以十进制形式输入x和y的值,以空格隔开。
【输出形式】以十进制形式在新的一行上输出z值。
【输入样例】840 2177【输出样例】776【样例说明】840的二进制形式为:0000 0011 0100 10002177的二进制形式为:0000 1000 1000 0001将840的高8位作为结果的高8位,2177的高8位作为结果的低8位,所以结果为:0000 0011 0000 1000,即十进制形式为:776【评分标准】结果完全正确得20分,每个测试点4分。
提交程序名为:c0106.c。
当前编程题:第二次作业--- 数字排序1. 【问题描述】编写一个程序,将输入的三个数从小到大排列出来。
【输入形式】用户在第一行输入三个数字,每个数字用空格分开。
2016年3月份全国计算机等级考试二级C语言-题库(全)
![2016年3月份全国计算机等级考试二级C语言-题库(全)](https://img.taocdn.com/s3/m/903a26cc6f1aff00bed51e3a.png)
2016年3月份全国计算机等级考试二级C语言题库(全)一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为 BA)PAD图B)N-S图C)结构图D)数据流图(2)结构化程序设计主要强调的是 DA)程序的规模B)程序的效率C)程序设计语言的先进性D)程序易读性(3)为了使模块尽可能独立,要求 BA)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(4)需求分析阶段的任务是确定 DA)软件开发方法B)软件开发工具C)软件开发费用D)软件系统功能(5)算法的有穷性是指 AA)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是CA)快速排序B)冒泡排序C)直接插入排序D)堆排序(7)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是 DA)e3,e1,e4,e2 B)e2,e4,e3,e1 C)e3,e4,e1,e2 D) 任意顺序(8)将E-R图转换到关系模式时,实体与联系都可以表示成 BA)属性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,则所使用的运算为 DA)并B)自然连接C)笛卡尔积D)交(10)下列有关数据库的描述,正确的是 DA)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字(11)以下叙述中正确的是 CA)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出(12)下列可用于C语言用户标识符的一组是 DA)void, define, WORD B)a3_3,_123,Car C)For, -abc, IF CaseD)2a, DO, sizeof(13)以下选项中可作为C语言合法常量的是 AA)-80 B)-080 C)-8e1.0 D)-80.0e(14)若有语句:char *line[5];,以下叙述中正确的是 CA) 定义line是一个数组,每个数组元素是一个基类型为char为指针变量B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C) 定义line是一个指针数组,语句中的*号称为间址运算符D) 定义line是一个指向字符型函数的指针(15)以下定义语句中正确的是 CA)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,则执行上述程序段后输出结果是 DA)因变量类型与格式描述符的类型不匹配输出无定值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)有以下程序#include <stdio.h>main(){ 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(){ int i,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(){ char str1[100]="abcddfefdbd",c=′d′;ss(str1,c); printf("%s\n",str1);}程序运行后的输出结果是A)ABCDDEFEDBD B)abcDDfefDbD C)abcAAfefAbA D)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;char ch[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)有以下程序#include<string.h>main(){ 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 <stdio.h>#include <string.h>void fun(char *s[],int n){ char *t; int i,j;for(i=0;i<n-1;i++)for(j=i+1;j<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)有以下程序#include <stdio.h>int 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));A)67 B)0 C)字符′C′的地址D)字符′C′(36)若有以下定义:struct link{ int data;struct link *next;} a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。
2016年03月全国计算机等级考试二级《C语言》真题及详解
![2016年03月全国计算机等级考试二级《C语言》真题及详解](https://img.taocdn.com/s3/m/650ee8e426fff705cc170a64.png)
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最新二级C语言考试题库及答案(程序设计专项练习 精华版)
![2016最新二级C语言考试题库及答案(程序设计专项练习 精华版)](https://img.taocdn.com/s3/m/86fe27285727a5e9856a61cc.png)
程序设计题(共15题)1、在考生文件夹下,要求程序PROG .C 的功能是: 将字符串中所有的大写字母转换为小写,其它字符不变(不使用转换函数)。
例如,当字符串为"This Is a c Program" 输出:"this is a c program"#include <stdio.h> void fun(char str1[]) {/************end************/}void main() {void NONO( );//函数声明 char str1[80];printf("Please input a string:\n"); gets(str1); fun(str1);printf("Result is: %s\n",str1); NONO( ); }void NONO( ) { FILE *fr,*fw; int i;char s[80];fr=fopen("PROGIN.DAT","r"); fw=fopen("PROGOUT.DAT","w"); for(i=1;i<=2;i++) { fgets(s,80,fr); fun(s);fprintf(fw,"%s",s);} fclose(fr); fclose(fw); } 2、在考生文件夹下,要求程序PROG.C 的功能是: 求[1,1000]之间既不能被7整除也不能被5整除的整数之和,将结果存入变量s 中。
#include "stdio.h" #include "math.h" #include "stdlib.h" void main() {void NONO( int y);//函数声明 int s; int i;/************end************/ printf("s=%d\n",s); NONO(s); }void NONO( int y) { FILE *f;f=fopen("PROGOUT.DAT","w"); fprintf(f,"The Result is :%d\n",y); fclose(f); }3、在考生文件夹下,要求程序PROG .C 的功能是: 统计字符串中元音字母’a ’、’e ’、’i ’、’o ’、’u ’的个数并输出。
C语言2016下半年第二次作业资料
![C语言2016下半年第二次作业资料](https://img.taocdn.com/s3/m/d2927235cfc789eb172dc8b7.png)
<C语言程序设计>第2次作业一、单项选择题1.若有以下定义:int a[]={3, 4, 5, 6, 7, 8, 9, 10, 11}, *p=a;则值为5的表达式是( B )。
A)p+=5, *(p+1) B)p+=1, * ++p C)p+=4, *p++ D)p+=1, ++ *p 2.下面函数调用语句含有实参的个数为( B )fun( ( a, b, c, d ), ( m, n ), (f, g ) );A)1 B)3 C)4 D)23.函数形式正确的是( D )。
A) double myfun( int x, int y) B) int myfun( int x, y){ m=x+y; return m; } { int m; }C) int myfun( int x, int y) D) int myfun( int x, int y){ int x, y; double m; { int m; m=x+y; return m; } m=x+y; return m; }4.不正确的字符串赋值或赋初值方式是( C )。
A)char *str; str=”string”; B)char str[7]={‘s’, ‘t’, ‘r’, ‘i’, ‘n’, ‘g’}C) char str[10]; str=”string”;D)char str[]=”string”; str2[]=”12345678”; strcpy(str2, str1);5.以下程序的输出结果是( B )。
#include <stdio.h>main(){ char str[]="SSSWLIA", c;int k;for (k=2; (c=str[k])!='\0'; k++) {switch (c) {case 'I': ++k; break;case 'L': continue;default: putchar(c); continue;}}putchar('*');}A)SSW* B)SW* C)SW*A D)SW6.以下程序的输出结果是( B )。
下半年计算机等级二级C语言上机模拟试题及答案
![下半年计算机等级二级C语言上机模拟试题及答案](https://img.taocdn.com/s3/m/04a4ab2f30126edb6f1aff00bed5b9f3f90f7298.png)
下半年计算机等级二级 C语言上机模拟试题及答案
2016下半年计算机等级二级C语言上机模拟试题及答案 给定程序中,函数fun的功能是:在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找 不到相同的字符则函数不做任何处理。
电大《C语言知识学习程序设计》第1,2,3,4次作业任务及答案解析
![电大《C语言知识学习程序设计》第1,2,3,4次作业任务及答案解析](https://img.taocdn.com/s3/m/3e05b754ba0d4a7303763a8b.png)
第一次作业一、写出下列每个程序运行后的输出结果1. #include<stdio.h>void main(){int x=5;switch(2*x-3){case 4:printf("%d ",x);case 7:printf("%d ",2*x+1);case 10:printf("%d ",3*x-1);break;default:printf("%s ","default\n");}printf("%s\n","switch end.");}2. #include<stdio.h>void main(){int i,s=0;for(i=1;i<=6;i++)s+=i*i;printf("s=%d\n",s);}3. #include<stdio.h>void main(){int i,s1=0,s2=0;for(i=0;i<10;i++)if(i%2)s1+=i;else s2+=i;printf("%d %d\n",s1,s2);}4. #include<stdio.h>void main(){int n=10,y=1;while(n--){y++;y++;}printf("y=%d\n",y);}5. #include<stdio.h>void main(){int f,f1,f2,i;f1=f2=1;printf("%d %d ",f1,f2);for(i=3;i<=10;i++){f=f1+f2;printf("%d ",f);if(i%5==0)printf("\n");f1=f2;f2=f;}printf("\n");}6. #include<stdio.h>#include<math.h>void main(){int i,n;for(n=2;n<=20;n++){int temp=(int)sqrt(n);//sqrt(n)求出n的平方根并取整for(i=2;i<=temp;i++)if(n%i==0)break;if(i>temp)printf("%d ",n);}printf("\n");}7. #include<stdio.h>#include<math.h>const int M=20;void main(){int i,c2,c3,c5;c2=c3=c5=0;for(i=1;i<=M;i++){if(i%2==0)c2++;if(i%3==0)c3++;if(i%5==0)c5++;}printf("%d %d %d\n",c2,c3,c5);}8. #include<stdio.h>#include<math.h>const int M=20;void main(){int i,s;for(i=1,s=0;i<15;i++){if(i%2==0 || i%3==0)continue;printf("%d ",i);s+=i;}printf("%d\n",s);}参考答案:1、答案:11 14 switch end.2、答案:s=91.3、答案:25 20.4、答案:y=21.5、答案:1 1 2 3 58 13 21 34 556、答案:2 3 5 7 11 13 17 197、答案:10 6 48、答案:1 5 7 11 13 37第二次作业一、根据下列每个题目要求编写程序1.编写一个函数,函数头格式为“void fun4(char *a , int b[])”,分别求出由字符指针a所指向的字符串中包含的每种十进制数字出现的次数,把统计结果保存在数组b的相应元素。
2016年3月全国计算机等级考试二级《C语言》真题二及详解
![2016年3月全国计算机等级考试二级《C语言》真题二及详解](https://img.taocdn.com/s3/m/cafdacb0ec3a87c24128c423.png)
2016年3月全国计算机等级考试二级《C语言》真题二(总分100, 考试时间120分钟)一、选择题(每小题1分,共40分)1. 设有以下程序段:struct book{ float price;char language;char title[20];} rec,*ptr;ptr = &rec;要求输入字符串给结构体变量rec的title成员,错误的输入语句是()。
A seanf(”%s”Ptrtitle);B scanf(”%s”,rec.title);C scanf(’’%s”,(*pu).title);D scanf(”%s”,ptr->title);该问题分值: 1答案:A符号“_>”是指针特用的,符号“.”用于指定元素的成员。
ptr是指针,只能用符号“一>”,因此选项A错误。
+P是指定元素(Fee)可以使用“.”运算,因此选项D正确。
选项B,Fee.title代表数组title,同理选项C正确。
答案为A选项。
2. 有以下程序:执行时输入:aBeDefG##<回车>,则输出结果是()。
A AbCdEFgB ABCDEFGC BCDEFGHD bedefgh该问题分值: 1答案:C循环的作用是将输入的字符串转化为大写,9etchar()每次读入一个字符,putchar()每次输出一个字符,当遇到#字符结束。
putchar(++C),表示将字符变量C加1后输出。
因此,输入aBcDefG##,得到的结果是BCDEFGH。
故答案为c选项。
3. 以下与存储类别有关的四组说明符中,全部属于静态类的一组是()。
A extem和staticB auto和staticC register和staticD register和excerl该问题分值: 1答案:Aauto用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。
2016最新二级C语言考试题库及答案选择题专项练习精华版
![2016最新二级C语言考试题库及答案选择题专项练习精华版](https://img.taocdn.com/s3/m/aaf8ca06c1c708a1294a446a.png)
C语言理论上机考试选择题部分1、下面程序的输出是<>(){ 11;("\n");}A) 111211 B) 111313 C) 110130 D) 11132、在下列选项中,不正确的赋值语句是.A) ; B) n1=(n2=(n3=0)); C) ; D) 1;3、下面合法的C语言字符常量是.A) '\t' B) "A" C)65 D) A4、表达式: 109的值是.A) B) 非零值C) 0 D) 15、C语言提供的合法的数据类型关键字是.A) B) C) D)6、字符()型数据在微机内存中的存储形式是.A) 反码B) 补码C) 码D) 码7、C语言程序的基本单位是.A) 程序行B) 语句C) 函数D) 字符8、设12,则执行完语句*a后的值是A) 552 B) 264 C) 144 D) -2649、执行下面程序中的输出语句后,输出结果是.<>(){ a;("\n",(3*5*45));}A) 65 B) 20 C) 15 D) 1010、下面程序的输出是.<>(){ 023;("\n");}A) 17 B) 18 C) 23D) 2411、下面程序的输出的是.<>(){ 103;("\n");}A) 0 B) 1 C) 3 D) 不确定的值12、已知字母A的码为十进制的65,下面程序的输出是.<>(){ 12;1='A'+'5'-'3';2='A'+'6'-'3';("\n"12);}A) 67 B) C) D) 不确定的值13、若要求在后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为.A) a<>0 B) C) 0 D) a14、以下程序的输出结果是.<>(){ 1010;(" \n");}A) 10 10 B) 9 9 C) 910 D) 10 915、设有如下定义:103;则语句("\n"());的输出结果是.A) 1 B) 0 C) 4 D) 316、为表示关系x≥y≥z,应使用C语言表达式.A) (x>)(y>) B) (x>)(y>)C) (x>>) D) (x>) & (y>)17、C语言中非空的基本数据类型包括.A) 整型,实型,逻辑型B) 整型,实型,字符型C) 整型,字符型,逻辑型D) 整型,实型,逻辑型,字符型18、若x和y都是型变量100200,且有下面的程序片段:("",());上面程序片段的输出结果是.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值19、阅读下面的程序<>(){;("%3c");("");}如果从键盘上输入<回车>则程序的运行结果是.A) a B) b C) c D) 程序语法出错20、阅读下面的程序<>(){;010;9;("");}则程序的运行结果是.A) 1,19 B) -1,19 C) 1,17 D) -1,1721、阅读下面的程序<>(){;810;;;("");}程序的运行结果是.A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1122、已知12,则表达式*的结果是.A) 0 B) 144 C) 12D) -26423、若已定义a,则表达式1010的值是.A) 20 B) 10 C)21 D) 1124、阅读下面的程序<>(){;("%32d");("\n");}如果从键盘上输入1234567<回车>,则程序的运行结果是.A) 1234567 B) 1234567 C) 12 D) 1234525、下面程序的输出结果是.<>(){1, 4, k;(<=0)(<=0);("\n");}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,326、下面程序的输出结果是.<>(){53;3.14, 6.5;("\n"<=(6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,027、执行下面程序段后,输出结果是.a;65536;;("\n");A) 65536 B) 0 C) -1 D) 128、若有以下定义和语句:010, 0x10, 10;("\n");则输出结果是.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1029、已知有型变量2.54.7,整型变量7,则表达式3*()()%2/4 的值是.A) 2.4 B) 2.5 C)2.75 D) 030、若已定义x和y是整型变量2;,则表达式2.752的值是.A) 5.5 B) 5 C) 3 D) 4.031、以下程序的输出结果是.<>(){12, 12;("\n");}A) 10,10 B) 12,12 C) 11,10 D) 11,1332、设有以下语句103(3),则x的值是A) 14 B) 15 C)11 D) 1233、若d为型变量,则表达式15的值是.A) 1 B) 6.0 C)2.0 D) 1.034、表达式53的值是.A) T B) 非零值C) 0 D) 135、若有定义125,则表达式(2)运算后的值.A) 0 B) 1 C)12 D) 636、若有定义32和2.53.5,则表达式:()%2+()()b的值是.A) 0 B) 2 C)1.5 D) 137、在C语言中,以下叙述不正确的是.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符.A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种39、设有说明w; x; y; z; 则表达式: w*值的数据类型是.A) B) C) D)40、一个C语言的执行是从.A) 本程序的主函数开始,到本程序的主函数结束B) 本程序的第一个函数开始,到本程序的最后一个函数结束C) 本程序的主函数开始,到本程序的最后一个函数结束D) 本程序的第一个函数开始,到本程序的主函数结束41、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是.A) 10<a<15 B) 11121314C) a>10<15D) !(a<=10)!(a>=15)42、下列程序执行后的输出结果是. <>( ){ 560;(a<b){*("*\n");}{("\n");}}A) 60/5=12 B) 300 C) 60*5=300 D) 1243、如果c为字符型变量,判断c是否为空格不能使用.(假设已知空格码为32)A) ('32') B) (32)C) ('\40') D) (' ')44、运行下面程序时,若从键盘输入"3,5<>",则程序的输出结果是.<>( ){;("");()("");(x>y)("x>y");("x<y");}A) 3<5 B) 5>3 C) x>y D) x<y45、运行下面程序时,若从键盘输入数据为"6,5,7<>",则输出结果是.<>( ){ ;("");(a>b)(a>c)("\n");("\n");(b>c)("\n");("\n");}A) 5 B) 6 C) 7 D) 不定值46、执行下面程序时,若从键盘输入"2<>",则程序的运行结果是.<>( ){ k; ;( );(>='0' <='9')'0';(>='a' <='f')'a'+10;'A'+10;("\n");}A) 2 B) 4 C) 1 D) 1047、运行下面程序时,从键盘输入"2.0<>",则输出结果是.<>( ){ ;("");(a<0.0) 0.0;((a<0.5) (2.0)) 1.0/(2.0);(a<10.0) 1.0/2;10.0;("\n");}A) 0.000000 B)0.500000C) 1.000000 D)0.25000048、执行下面程序后,运行结果是.<>( ){ 411;(30 70){ ("\n");}{("");}}A) 41 B) 43 C) 42 D) 149、运行下面程序时,从键盘输入"12,34,9<>",则输出结果是.<>( ){ ;("");(x<y)(y<z)("\n");("\n");(x<z)("\n");("\n");}A) 34 B) 12 C) 9 D) 不确定的值50、运行下面程序时,从键盘输入字母H,则输出结果是.<>( ){ ;( );(){ 'H'("!\n");'G'(" !\n");("!\n");}}A) ! B) !!C) ! D) !! !!51、执行下列程序段后的输出结果是.111;;("\n"<);A) 3 B) 2 C) 1D) 452、设是型变量,值为'A',则表达式(>='A' <='Z')32的值是.A) Z B) a C) z D) A53、下面程序的输出结果是.<>( ){ 879;(x<y)(y<0) 0;1;("\n");}A) 8 B) 1 C) 9 D) 054、运行下面程序时,若从键盘输入"5 <>",则程序的输出结果是.<>( ){ a ;("");(>5)("\n");("\n") ;}A) 7 B) 6 C) 5 D) 455、运行下面程序时,若从键盘输入"3,4 <>",则程序的输出结果是. <>( ){ ;("");;(s<b) ;*s;("\n") ;}A) 14 B) 16 C) 18 D) 2056、下列程序的执行结果是.<>( ){ 010;()3;("\n");}A) 3,0 B) 0,0 C) 0,1 D) 3,157、假定等级和分数有以下对应关系:等级:A 分数:85~100等级:B 分数:60~84等级:C 分数:60 以下对于等级输出相应的分数区间,能够完成该功能的程序段是.A) (){'A'("85100\n");'B'("6084\n");'C'("60以下\n");("等级错误!\n");}B) (){'A'("85100\n");'B'("6084\n");'C'("60以下\n");(" 等级错误!\n");}C) (){'A'("85100\n");'B'("6084\n");'C'("60以下\n");("等级错误!\n");}D) (){'A'("85100\n");'B'("6084\n");'C'("60以下\n");("等级错误!\n");}58、能够完成如下函数计算的程序段是.┌-1 x<0┤0 0└ 1 x>0A) 1; B) (x>=0)(0) (x>0) 1;(x>0) 1; 0;0; 1;C) 0; D) 1;(x>=0) (x>0) 1;(x>0) 1; 0;1;59、有如下程序<>( ){ 5.0;(x<0.0) 0.0;(x<10.0) 1.0;1.0;("\n");}该程序的输出结果是.A) 0.000000 B) 0.50000 C) 0.200000 D) 1.00000060、以下程序的执行结果是. <>( ){ 10;(x){1:(y){0("\n");1("\n");}2("\n");}}A) B)C) D)61、以下程序的执行结果是.<>( ){ ;0;1;20;(a) 10;()() 15;25;("\n");}A) 20 B) 10 C) 15 D) 2562、有如下程序:<>( ){ 212;(a<b)(b<0) 0;;("\n");}该程序的输出结果是.A) 0 B) 1 C) 2 D) 363、下列程序执行后的输出结果是. <>( ){ 1;(()<0) 4;(0) 5;6;("\n");}A) 4,1 B) 6,1 C) 5,0 D) 出错信息64、有如下程序<>( ){ 100;(x){0: ;1: ;2: ;}("\n");}该程序的输出结果是.A) 21 B) 11 C) 10 D) 2265、下面程序的输出结果是. <>( ){ 11;((<0) (<=0))(" \n");(" \n");}A) -1 1 B) 0 1 C) 1 0D) 0 066、假定w、x、y、z、m均为型变量,有如下程序段:1234;(w<x); (m<y); (m<z);则该程序段执行后,m的值是.A) 4 B) 3 C) 2 D) 167、以下程序的输出结果是.( ){ 100;(a>100) ("\n">100);("\n"<=100);}A) a<=100 B) 100 C) 0 D) 168、若执行下面的程序从键盘上输入9,则输出结果是<>( ){ n;("");(<10) ("\n");("\n");}A) 11 B) 10 C) 9 D) 869、以下程序输出结果是.<>( ){ 4;(>5) ("\n");("\n");}A) 7 B) 6 C) 5 D) 470、若执行下面的程序从键盘上输入5,则输出结果是.<>( ){ x;("");(>5) ("\n");("\n");}A) 7 B) 6 C) 5 D) 471、以下程序段运行结果是.111;;("\n"<);A) 1 B) 2 C) 4D) 不确定的值72、有以下程序<>( ){ 246;100%9;(-1)(-1);("\n");}输出结果是.A) 2,1 B) 3,2 C) 4,3 D) 2173、运行下面程序时,若从键盘输入数据为"123",则输出结果是.""(){ ;("");(>99)3;(>9)2;1;100;(*100)/10;(*100*10);(){ 3: ("\n");;2: ("\n");;1: ("\n");}}A) 123 B) 1,2,3 C) 321 D) 3,2,174、执行下列程序后的输出结果是. <>( ){ 4321;("\n"<<);}A) 4 B) 3 C) 2 D) 175、以下条件表达式中能完全等价于条件表达式x的是.A) (0) B) (0) C) (1) D)(1)76、若运行下面程序时,给变量a输入15,则输出结果是.<>( ){ ;("");>151010;("\n") ;}A) 5 B) 25 C) 15 D) 1077、运行下面程序后,输出是.<>( ){ 3;(k<=0) ("****\n");("\n")}A)B) ****C) ****D) 有语法错误不能通过编译78、执行下面程序的输出结果是.<>( ){ 500;() ("****\n");("\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出79、为了避免嵌套的语句的二义性,C语言规定总是与组成配对关系.A) 缩排位置相同的B) 在其之前未配对的C) 在其之前尚未配对的最近的D) 同一行上的80、设x 、y 、z 、t均为型变量,则执行以下语句后的值为.1;;A) 不定值B) 4 C) 1 D) 081、以下程序段.1;{*x;} ();A)是死循环B)循环执行两次C)循环执行一次D)有语法错误82、对下面程序段描述正确的是.00;(0) ;("");A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次83、下面程序段的输出结果是.3;{ ;() {("*");}("#");} (2);A) B) * C) 死循环D)输出错误信息84、下面程序的运行结果是.<>( ){ 110;{ ;} (<0);("\n");}A) 3,11 B) 2,8 C) 11 D) 4,985、下面程序段的运行结果是.0;(<=2)("");A) 012 B) 123 C) 234 D) 错误信息86、下面程序段的运行结果是.00;(x<15) ;("");A) 20,7 B) 6,12 C) 20,8 D)8,2087、下面程序的运行结果是.<>(){ 01;(s<=10){ *i;;}("");}A) 4 B) 3 C) 5 D) 688、函数的功能是根据以下近似公式求π值:(π*π)/6=1+1/(2*2)+1/(3*3)1/(n*n )请填空,完成求π的功能。
2016年计算机二级《C语言》精选练习题及答案(4)
![2016年计算机二级《C语言》精选练习题及答案(4)](https://img.taocdn.com/s3/m/e7b6bdff551810a6f52486cb.png)
2016年计算机二级《C语言》精选练习题及答案(4)1[填空题]给定程序中,函数fun的功能是:调用随机函数产生20个互不相同的整数放在形参a所指数组中(此数组在主函数中已置O)。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANKl.C中。
不得增行或删行,也不得更改程序的结构!试题程序:参考解析:(1)N或20 (2)break (3)n【解题思路】填空l:变量n用于存储数组的下标,要通过while语句对数组进行赋值,数组的容量为20,因此循环条件应为n<20。
填空2:通过一个for循环判断X是否与数组中已存的元素重复,若重复则跳出for循环结束。
填空3:若for循环是由break语句结束的,则X与数组中的元素重复,此时i必然小于n;若for循环是因为循环变量i递增到某值,而不再满足循环条件结束的,说明X的值与数组中的元素不重复,则此时i的值等于n。
2[简答题]下列给定程序中函数fun的功能是:统计substr所指的字符串在str所指的字符串中出现的次数。
例如,若字符串为aaas 1kaaas,子字符串为as,则应输出2。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:参考解析:【参考答案】(1)for(i=0;str[i];i++)(2)if(substr[k+1]==’\0’)【考点分析】本题考查:for循环语句的格式,for循环语句使用最为灵活,其一般形式为for(表达式1;表达式2;表达式3),注意表达式之间使用“;”相隔;if条件语句的格式,其中if关键字需要区别大小写,不能混淆使用。
关键字是由C语言规定的具有特定意义的字符串,也称为保留字。
用户定义的标识符不应与关键字相同,并且关键字应小写。
.【解题思路】先看循环条件for(i=0,str[i],i++),不难发现此处for循环语句的格式有误,其中表达式之间应以“;”相隔;同时很容易发现if条件语句处的关键字书写错误。
2016年9月二级C语言最新题库 自己整理的
![2016年9月二级C语言最新题库 自己整理的](https://img.taocdn.com/s3/m/0dc0c93e647d27284b735167.png)
多项式的求值20、根据以下公式p的值,结果由函数值带回。
m与n为两个正整数且要求m>n。
m=12,n=8,结果为495.000000(1)*s s++ n(2){int j,c=0;float xa=0.0;if(x[j]>=xa)(3)float fun(int m, int n){float p;p=1.0*jc(m)/jc(n)/jc(m-n) ;return p;}22、计算并输出下列多项式的值。
例如,当n=10时,函数值为0.909091(1)*s 1 k[n](2)double fun(int k)return s;(3)double fun(int n){int i;double s=0.0;for(i=1;i<=n;i++)s=s+1.0/(i*(i+1));return s;}23、计算下列级数和,和值由函数值返回。
例如,当n=10,x=0.3时,函数值为1.349859.(1)i ps[j] tp(2)double fun(int n)return sum;(3)double fun(double x, int n){int i;double s=1.0,s1=1.0;for(i=1;i<=n;i++){s1=s1*i; s=s+pow(x,i)/s1; }return s;}★40、根据以下公式计算S,并将结果作为函数值返回,n通过形参传入。
若n=11,函数值为1.833333(1)0 0 c(2)double sum = 0.0;sum /= c;(3)float fun(int n){int i,s1=0;float s=0.0;for(i=1;i<=n;i++){s1=s1+i;s=s+1.0/s1;}return s;}★48、求Fibonacci数列中大于t的最小的数,结果由函数返回。
(1)N N-1 0(2) s=s+ (n+1.0)/n;return t;(3)int fun( int t){int f0 = 0, f1 = 1, f ;do {f = f0 + f1 ;f0 = f1 ;f1 = f ;} while(f < t) ;return f ;}★62、根据以下公式求π的值。
C语言作业1
![C语言作业1](https://img.taocdn.com/s3/m/eef07e69b307e87101f696fb.png)
B .纯小数型 C .复数型 D .双精度型 学生答案: A 分数:3 得分:3.0 9. 以下的非法赋值语句是( )。 A .n=(i+2,i++) B .j++ C .++(i+1) D .x=j>0 学生答案: C 分数:3 得分:3.0 10. 下述语句执行后,变量k的值是( )。 int k=1; while(k++〈10〉; A .10 B .11 C .9 D .为无限循环,值不定 学生答案: B 分数:4 得分:4.0 11. 下面程序段的运行结果是( )。 int n=0; while(n++<=2); printf(“%d”,n); A .2 B .3 C .4 D .有语法错 学生答案: C 分数:4 得分:4.0 12. 当把以下四个表达式用做if语句的控制表达式时,有一个选项与其他 三个选项含义不同,这个选项是( )。 A .k%2 B .k%2= =1 C .(k%2)!=0 D .!k%2= =1 学生答案: D 分数:4 得分:4.0 13. 在以下程序段中,while循环执行的次数是( )。 int k=0; while(k=1) k++; A .执行一次 B .一次也不执行
B. 句号 C. 分号 D. 冒号 正确答案:C 满分:4 分 得分:4 12. 当把以下四个表达式用做if语句的控制表达式时,有一个选项与 其他三个选项含义不同,这个选项是( )。 A. k%2 B. k%2= =1 C. (k%2)!=0 D. !k%2= =1 正确答案:D 满分:4 分 得分:4 13. 若x的初值为10,则表达式(x>10?x+100 : x-10)的值是( )。 A. 10 B. 0 C. 100 D. 1 正确答案:B 满分:4 分 得分:4 14. 关于printf函数的格式字符,以下叙述正确的是( )。 A. 整形变量的输出格式符只有%d一种 B. %x是格式符,它可以适用于输出任何一种类型的数据 C. %8f表示输出实数的整数部份占8个字符宽度 D. %ld表示输出长整型数据 正确答案:D 满分:4 分 得分:4 15. 以下程序的输出结果是( )。 main( ) { int a, b; for(a=1,b=1;a<=100;a++) { if(b>=10) break; if(b%3==1) { b+=3; continue;} } printf(“%dn”,a); } A. 101 B. 6 C. 5 D. 4 正确答案:D 满分:4 分 得分:4 16. 若有如下程序段,则循环体语句共执行( )次。 int k=10; while(k>0) {k--;} A. 10 B. 9 C. 11 D. 0
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
<C语言程序设计>第2次作业一、单项选择题1.若有以下定义:int a[]={3, 4, 5, 6, 7, 8, 9, 10, 11}, *p=a;则值为5的表达式是( B )。
A)p+=5, *(p+1) B)p+=1, * ++p C)p+=4, *p++ D)p+=1, ++ *p 2.下面函数调用语句含有实参的个数为( B )fun( ( a, b, c, d ), ( m, n ), (f, g ) );A)1 B)3 C)4 D)23.函数形式正确的是( D )。
A) double myfun( int x, int y) B) int myfun( int x, y){ m=x+y; return m; } { int m; }C) int myfun( int x, int y) D) int myfun( int x, int y){ int x, y; double m; { int m; m=x+y; return m; } m=x+y; return m; }4.不正确的字符串赋值或赋初值方式是( C )。
A)char *str; str=”string”; B)char str[7]={…s‟, …t‟, …r‟, …i‟, …n‟, …g‟}C) char str[10]; str=”string”;D)char str[]=”string”; str2[]=”12345678”; strcpy(str2, str1);5.以下程序的输出结果是( B )。
#include <stdio.h>main(){ char str[]="SSSWLIA", c;int k;for (k=2; (c=str[k])!='\0'; k++) {switch (c) {case 'I': ++k; break;case 'L': continue;default: putchar(c); continue;}}putchar('*');}A)SSW* B)SW* C)SW*A D)SW6.以下程序的输出结果是( B )。
#include <stdio.h>int w=3;fun( int k){if ( k==0) return w;return ( fun(k -1 )*k);}main(){ int w=10;printf("%d\n", fun(5)*w);}A)360 B)3600 C)1080 D)12007. 以下程序的输出结果是( D )。
#include <stdio.h>int w=3;f( int a){ int b=0; static int c=3;b++; c++;return ( a+b+c);}main(){ int a=2, i;for (i=0; i<3; i++)printf("%d ", f(a));}A)7 7 7 B)7 10 13 C)7 9 11 D)7 8 9 8.以下程序的输出结果是( D )。
#include <stdio.h>main(){ int a[]={1,2,3,4,5,6}, *p;p=a; *(p+3)+=2;printf("%d, %d \n ", *p, *(p+3));}A)0, 5 B)1, 5 C)0, 6 D)1, 69.以下程序的输出结果是( B )。
#include <stdio.h>#define PT 5.5#define S(x) PT*x*xmain(){ int a=1, b=2;printf("%4.1f\n ", S(a+b));}A)49.5 B)9.5 C)12.5 D)33.510.下面程序段的输出结果是( C )。
#include <stdio.h>#define LETTER 1main(){ char str[20]="Language", c;int i=0;while (( c=str[i])!='\0'){ i++;# if (LETTER)if (c>='a'&& c<='z') c=c-32;#elseif (c>='A'&& c<='Z') c=c+32;#endifprintf("%c", c);}}A)Language B)language C)LANGUAGE D)lANGUAGE11.若有说明:char *s[]={“FORTRAN”, “BASIC”,”PASCAL”,”JA V A”,”C”}; 则表达式*s[1]>*s[3]比较的是( C )。
A)字符F和字符P B)字符串BASIC和字符串JA V AC)字符B和字符J D)字符串FORTRAN和字符串PASCAL12.如下程序的输出结果是( B )。
#include <stdio.h>main(){ char a[20]="chinese" ; char *p=a;for (; p<a+7; p+=2) putchar(*p);}A)chinese B)ciee C)chine D)cie13. 若有定义: int a[2][3];则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素值的正确引用为( A )。
A)*(*(a+i)+j) B)(a+i)[j] C)*(a+i+j) D)*(a+i)+j14. 若有以下定义和语句,则对a数组元素的正确引用为( C )。
int a[2][3],(*p)[3];p=a;A)(p+1)[0] B)*(*(p+2)+1) C)*(p[1]+1) D)p[1]+215.若以下main函数经过编译、连接后得到的可执行文件名为echo.exe,若希望在系统的命令状态下输入某一命令行后得到的输出是chian tianjin,则命令行的内容应是( B )。
A)chian tianjin B)echo chian tianjinC)echo D)echochian tianjin chinatianjin16.以下对结构体变量stu中成员age的非法引用是(B )。
struct student{ int age; int num; } stu, *p;p=&stu;A)stu.age B)student.age C)p->age D)(*p).age17.已知学生记录描述为:struct DATE{ int year;int month;int day;};struct student{ int no; /*学号*/char name[10]; /*姓名*/char sex; /*性别*/struct DA TE birth;};struct student s;设变量s中的“生日”应该是“1984年11月11日”,下列对“生日”的正确赋值方式是(D )。
A)year=1984; B)birth.year=1984;month=11; birth.month=11;day=11; birth.day=11;C)s.year=1984; D)s.birth.year=1984;s.month=11; s. birth.month=11;s.day=11; s.birth.day=11;18.若有以下定义的语句:union data{ int i;char c;float f;}a;int n;则以下语句正确的是( A )。
A)a.i=5 B)a={2,‟a‟,1.2} C)printf(“%d”,a) D)n=a19. 表达式a<b||~c&d的运算顺序是( D )。
A)~,&,<,|| B)~,||,&,< C)~,&,||,< D)~,<,&, || 20.若执行fopen函数时发生错误,则函数的返回值为( B )。
A)地址值B)0 C)1 D)EOF二、填空题(本大题共11小题,每空2分,共30分)1.int arr[20]; 则arr[i]的地址可表示为&arr[i], arr+i 。
2.函数swap(int x, int y)可完成对x和y值的交换。
在运行调用函数中的如下语句后,a[0]和a[1]的值分别为a[0]=1 a[1]=2 ,原因是实参和形参是值传递。
a[0]=1; a[1]=2; swap(a[0],a[1]);3.若有定义 int a [3][4]={{1,2}, {0},{ 4,6,78,10}}; 则初始化后a[1][2]得到的初值是 0 ,a[2][1]得到的初值是 6 。
4.函数delete_string( char s[ ],char c)将字符串s中所出现的与变量c相同的字符删除,请填空。
delete_string(char *s, char ch) /*定义外部函delete_string*/{int i,j;for (i=j=0;*(s+i)!='\0';i++)if (*(s+i)!=ch) *(s+j++)=*(s+i) ;*(s+j)='\0';}5.下面程序段将输出 computer,请填空。
int i, j=0;char c[ ]=”it’s a computer”;for (i=0; i<=7 ;i++){ j=i+7 ; printf(“%c”,c[j];)6. 如下程序段的输出结果是 123 。
#include <stdio.h>main(){ char str[]="1a2b3c" ; int i;for (i=0; str[i]!='\0';i++)if (str[i]>='0'&&str[i]<='9') printf("%c",str[i]);}7.如下程序段的输出结果是 EFGH IJKL 。
#include <stdio.h>main(){ char str[][10]={"ABCD","EFGH","IJKL","MNOP"},k;for (k=1; k<3;k++)printf("%s\n",str[k]);}8.如下程序段的输出结果是 n1=1, n2=6 。