2014年9月份考试C语言程序设计第一次作业

合集下载

2014 C程序设计 试卷A

2014 C程序设计 试卷A

湖南农业大学、怀化学院、吉首大学C/C++程序设计课程三校联考试卷课程名称:C/C++程序设计 试卷号: A 考核学期:2014年秋季考核对象:2014级计科、网络、电子、通信、电气专业1. 下面合法的C 语言字符常量是( ). A) '\t' B) "A" C) 65 D) A2. C 语言程序的基本单位是( ).A) 语句 B) 函数 C) 字符 D) 程序行 为表示关系x ≥y ≥z,应使用C 语言表达式( ). A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z) C) (x>=y>=z)D) (x>=y) & (y>=z) 4. C 语言中非空的基本数据类型包括( ). A) 整型,实型,逻辑型B) 整型,实型,字符型C) 整型,字符型,逻辑型 D) 整型,实型,逻辑型,字符型 5.C 语言中的变量名的第一个字符( ).A) 必须为字母 B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种一、单项选择题(本大题共20分,每小题2分)6. 设有说明: char w; int x; float y; double z; 则表达式: w*x+z-y 值的数据类型是( ). A) float B) char C) int D) double7. 一个C 语言的执行是( ).A) 从本程序的主函数开始,到本程序的主函数结束B) 从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D) 从本程序的第一个函数开始,到本程序的主函数结束 8. 下列说法中正确的是( ).A) sizeof (char) 是结果为整型的表达式 B) sizeof (char) 是一个不合法的表示形式 C) sizeof (char) 是一种函数调用 D) sizeof (char) 是结果为实型的表达式 9. 以下叙述正确的是 ( ).A) do-while 语句构成的循环不能用其它语句构成的循环来代替。

C语言程序设计-第一次作业的答案

C语言程序设计-第一次作业的答案
while(n--){y++;y++;}
printf("y=%d\n",y);
}
输出结果为:
y=21.
Press any key to continue
n
n--
y
print
10
1
10
3
9
9
5
8
8
7
7
7
9
6
6
11
5
5
13
4
4
15
3
3
17
2
2
19
1
1
21
0
0
-1
y=21
5.#include<stdio.h>
1 1 2 3 5
8 13 21 34 55
Press any key to continue
i
f
f1
f2
i%5
print
1
1
1 1(不换行)
3
2
1
2
2
2(不换行)
4
3
2
3
4
3(不换行)
5
5
3
5
0
5(换行)
6
8
5
8
1
8(不பைடு நூலகம்行)
7
13
8
13
2
13(不换行)
8
21
13
21
3
21(不换行)
9
34
21
34
i
s
i%2
i%3
print
s+=i
1

2014C语言程序设计(含答案)

2014C语言程序设计(含答案)

一、写出下列程序段的运行结果(40分)1.(4分)char a= 'F'-'E',b= '\12',c=12,d;c = a<b<c;d =--a&& b++;printf("%d,%d,%d,%d",a,b,c,d);2.(4分)int a=2, b=5;printf("a=%%d,b=\\d,");b/=a;a+=a-b;printf("%d,%d",a,b);3.(4分)char a=256;printf("%d,",a++);a=(int)(13/5+1.4);printf("%d",a);4.(4分)int p[8]={11,12,13,14,15,16,17}; int i=0,j=0;while (i++<7) (第一次循环i=1)if (p[i]%2) j+=p[i];printf("%d\n",j);5.(4分)int a=3,b=5;void exchange(int a, int b){int t;t=a; a=b; b=t;printf("%d,%d\n", a, b);} int main(){exchange(a,b);printf("%d,%d\n",a,b);return 0;}6.(4分)void f(char ch){if (ch>'A'){f(ch-1);}putchar(ch);}int main(){f('D');return 0;}7.(4分)char str[10]="123456789"; int i;for (i=9; i>0; i/=2){str[i]=0;printf("%s\n",str);}8.(4分)struct {int x; int y; int z;}a[3] ={1,2,3,4,5,6,7,8,9};printf("%d,%d\n", a[1].x+a[2].y, a[1].y+a[2].z);9.(4分)int a[8]={1,2,3,4,5,6,7,8};int i=1, *p = a;while (p<a+8){p rintf("%d ",*p);p = p+i;i*=2;} 10.(4分)FILE *fp;int d=20150111;char c1,c2;char str[4];fp=fopen("a.tmp","w");fprintf(fp,"%d", d);fclose(fp);fp=fopen("a.tmp","r");c1=fgetc(fp);fgets(str, 4, fp);c2=fgetc(fp);fscanf(fp, "%d", &d);printf("%c,%s,%c,%d",c1,str,c 2,d);二、改错题(20分)以下程序实现:从键盘输入20个学生的成绩数据,将这些数据存到磁盘文件“stu.dat”上,并求这些学生的最差成绩。

c语言第一次作业程序题pta

c语言第一次作业程序题pta

5-1 统计学生平均成绩与及格人数 (15分)本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。

题目保证输入与输出均在整型范围内。

输入格式:输入在第一行中给出非负整数N,即学生人数。

第二行给出N个非负整数,即这N位学生的成绩,其间以空格分隔。

输出格式:按照以下格式输出:其中平均值精确到小数点后一位。

输入样例:输出样例:int main(){int n,i,count=0,a[10000];double sum=0,aver;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n;i++){if(a[i]>=60)count++;sum=sum+a[i];}if(n!=0)aver=sum/n;printf("average = %.1f\ncount = %d\n",aver,count);}5-3 大炮打蚊子(15分)现在,我们用大炮来打蚊子:蚊子分布在一个M\times N M×N格的二维平面上,每只蚊子占据一格。

向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意:其中,X为炮弹落点中心,O为紧靠中心的四个有杀伤力的格子范围。

若蚊子被炮弹命中(位于X格),一击毙命,若仅被杀伤(位于O格),则损失一半的生命力。

也就是说,一次命中或者两次杀伤均可消灭蚊子。

现在给出蚊子的分布情况以及连续k发炮弹的落点,给出每炮消灭的蚊子数。

输入格式:第一行为两个不超过20的正整数M和N,中间空一格,表示二维平面有M行、N列。

接下来M行,每行有N个0或者#字符,其中#表示所在格子有蚊子。

接下来一行,包含一个不超过400的正整数k,表示发射炮弹的数量。

最后k行,每行包括一发炮弹的整数坐标x和y(0\le≤x<<M,0\le≤y<<N),之间用一个空格间隔。

2014年9月份考试C++程序设计语言第一次作业

2014年9月份考试C++程序设计语言第一次作业

2014年9月份考试C++程序设计语言第一次作业一、单项选择题(本大题共90分,共 30 小题,每小题 3 分)1. 下列各种函数中,不属于类成员函数的是()。

A. 构造函数B. 拷贝构造函数C. 友元函数D. 析构函数2. 下列关于函数的说法中,不正确的是()。

A. 在不同函数中可以使用相同的名字命名变量B. 形式参数是局部变量C. 在函数内部定义变量的作用域在本函数中D. 在一个函数内的复合语句中定义变量的作用域也是整个函数3. 对于结构中定义的成员,其隐含访问权限为()。

A. publicB. protectedC. privateD. static4. 一个类的友元函数能够访问该类的()。

A. 私有成员B. 公有成员C. 保护成员D. 所有成员5. 在ios中提供的格式控制标志位中,表示转换为16进制形式的标志位是()。

A. OctB. DecC. LeftD. hex6. 在C++中使用3个保留字实现异常处理,它们是:try、catch和()。

A. ifB. throwC. whileD. return7. 下列字符序列不能用作标识符的是()。

A. 12class B. name1 C. hello _y D. HoUse8. 说明模板参数的关键字为()。

A. InlineB. TemplateC. FriendD. define9. 在C++中,运行时多态性通过使用()来实现。

A. 构造函数B. 析构函数C. 虚函数D. 重载函数10. C++的注释一般有两种,即一种是用“/*注释*/”可以表示多行注释,另一种是用()。

A. “\\注释”表示单行注释B. “\\注释”表示多行注释C. “//注释”表示单行注释D. “//注释”表示多行注释11. 在C++循环结构while(!e);中,作为条件使用的表达式!e等价于()。

A. e==0B. e!=1C. e!=0D. e==112. C++中,关键字struct和class的区别仅仅在于()。

c语言程序设计第一章试题及答案

c语言程序设计第一章试题及答案

c语言程序设计第一章试题及答案一、选择题(每题2分,共10分)1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中合法的变量名?A. _123abcB. intC. forD. myVar答案:C3. 在C语言中,用于声明一个整型变量的关键字是:A. intB. floatC. charD. double答案:A4. 下列哪个选项是C语言中的控制语句?A. printfB. scanfC. ifD. return答案:C5. C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:D二、填空题(每题2分,共10分)1. C语言中,用于输入一个整数的函数是________。

答案:scanf2. 在C语言中,定义一个数组时,数组的下标从________开始。

答案:03. C语言中,用于输出一个浮点数的函数是________。

答案:printf4. C语言中,用于定义一个字符型变量的关键字是________。

答案:char5. C语言中,用于定义一个布尔型变量的关键字是________。

答案:_Bool 或 bool(根据标准不同)三、简答题(每题5分,共20分)1. 请简述C语言中变量的作用域有哪些?答案:变量的作用域主要有局部作用域和全局作用域。

局部作用域通常用于函数内部,变量只在该函数中有效;全局作用域用于函数外部,变量在整个程序中都有效。

2. 解释C语言中的指针是什么?答案:指针是一种特殊的变量,它存储了另一个变量的内存地址。

通过指针,程序可以间接访问和操作内存中的数据。

3. 什么是C语言中的函数原型?答案:函数原型是指函数的声明,它提供了函数的返回类型、函数名、参数类型和数量等信息,但不包含函数的具体实现。

4. 在C语言中,如何定义一个结构体?答案:定义一个结构体需要使用关键字`struct`,后跟结构体的名称,然后是一对花括号,其中包含了结构体成员的声明。

(三栏版)2014.9C语言题库(2)

填空题题目105套总目录以下目录105套和正文的题目是相对应的,为方便找题,可以先从目录中找到题目所在第几套,再从第二页开始找到对应的那套即可。

第01套:int fun(___1___ *std)第02套:void WriteText(FILE ___1___)第03套:fprintf(___1___,"%d %f\n",第04套if((fs=fopen(source,___1___))==第05套: s->data=___1___;q=___2___;第06套:t=t->___1___;第07套:free(___1___);第08套: while(p!=___1___)第09套 ___1___=0;p=p->___2___;第10套:s+= p->___1___;第11套:___1___ fun(STU *std,char *num)第12套: if(___1___==year)第13套:void modify(___1___ *ss,float第14套:void fun(PERSON ___1___)第15套: max= ___1___;第16套:void show(STU ___1___)第17套:for(j=___1___;j<M;j++)第18套: n=len;___1___=i;第19套: n=strlen(___1___);第20套:int fun(char (*ss) ___1___,int *n)第21套:for(i=0; i<___1___; i++)if(len ___2___ *n)第22套: t2[j]=s[i];___1___;第23套:if(s[i]>='0' ___1___ s[i]<='9')第24套:for(i=0;___1___ !=0;i++)第25套:if(n%2==0) k=n-___1___ ;第26套: ___1___; for(j=___2___+2 ;第27套:for(i=0;s[i]!=___1___ ;i++)第28套:for(i=0;i<N;___1___)第29套: for(i=0;i<___1___;i++)x=t[i][___2___] ;第30套:t[0][N-j-1]=t[j][___1___ ];第31套:void fun(int (*t)___1___)第32套:void fun(int ___1___ ,int n)第33套:___1___;sum+=___2___ ;第34套:if (a[i]%2==___1___)第35套: if (___1___== 0) {第36套:max = min = ___1___;第37套:void fun(int ___1___,int n)第38套: p = (n%2==0)?n/2:n/2+___1___;第39套:for (i=0;i<___1___;i++)第40套:___1___ fun(char ch)第41套: if ((ch>='a')___1___(ch<='z'))第42套: f = ___1___;t *= (___2___)*x/i;第43套:t = ___1___;t *= (-1.0)*x/___2___;第44套:t = ___1___;for (i=___2___;i<n;i++)第45套:f = 1.0+___1___;t *= x/___2___;第46套:for (___1___;j<i;j++)第47套: switch(___1___)第48套:for (j=a[i]*2;j<=n;j+=___1___)第49套:#define OK(i,t,n) ((___1___%t==0) && (i/t<n))第50套: t = (a>b) ? (b>c? b :(a>c?c:___1___))第51套: n=__1__; while(t<=__2__)第52套: while(t<=__1__){第53套: i=__1__; while(__2__)第54套:if(t%2==__1__) x=__2__+t;第55套:{t=*n % __1__; if(t%2!= __2__)第56套: s=__1__;第57套: k=__1__;t=__2__;第58套: x=__1__/4;while(x __2__ e)第59套: s=0;i=__1__; __2__;第60套: t[j]=__1__;j++;}第61套: p[__1__]=s[i];j++;}第62套: av=__1__;av = av + __2__;第63套:__1__=s/N;第64套:av=__1__; y[__2__]=x[i];第65套:for(i=0; i<N; i++) av+=__1__;第66套:d=d*10+*s-__1__;第67套:while (n<__1__)if(x==a[i]) __2__;第68套:b[i]= __1__;if(b[i] __2__ a[j][i])第69套:void fun(int (*a)__1__)第70套:row=colum= __1__;第71套:void fun(int (*a)[N], int __1__)第72套:for(p=1; p<= __1__; p++)第73套:rmax=a[i][j]; c= __1__ ;}find= __2__ ;__3__ ;第74套:if(n>=len) strcpy(__1__);第75套:lp= __1__ ;lp++; rp __2__ ;}第76套:__1__ ; flag=1;}第77套:*(t+n)= __1__ ;n++;}__2__ ;第78套:if(isdigit(*s)) sum+= *s- __1__ ;第79套:ch=tolower(__1__);第80套:k= __1__ ;if(strlen(ps[k]) <strlen(__2__))第81套:for(i=0; i<__1__ ; i++)if(strcmp(ss[i],t)==0) return __2__;第82套:for(i=0; i<__1__ ; i++)if(len<= __2__)第83套:for(i=0; i<__1__ ; i++)if(strstr(ss[i], __2__) != NULL)第84套:void fun(char (*ss) __1__, int k第85套:b = __1__;strcpy(__2__, "LiSi");第86套:b__1__ = 10004;strcpy(b__2__, "LiJie");第87套:__1__ fun(struct student a)strcpy(__2__, "LiSi");第88套:__1__ fun(struct student *a)for (i=0; i<3; i++) __2__ += 1;第89套: __1__ t;for (i=0; i<__2__; i++)第90套:while (!feof(__1__))if (n.sno__2__sno) break;第91套:__1__ (*f)(); f = __2__ ;第92套:p = __1__ ;q = __2__ ;第93套:__1__ fun(NODE *h)r = q->__2__;第94套:p = h->__1__;if (p==__2__) return;第95套:q = __1__ ;while (__2__) p = __3__ ;第96套:__1__ fun(int i, double x, double y)第97套:__1__ fp;while (!feof(__2__)) {第98套:__1__ fp;__2__ ;第99套:fp = fopen(filename, __1__);第100套:fp = fopen(__1__, "rb+");第101套:t=b[i]; b[i]=___1___;第102套:if(___1___==0 )printf("___2___");第103套:pa->next=___1___;printf(" %c",____2_____);第104套:a[i]=___1___; ___2___=1;i=___3___;第105套:__1__ = 0; i = ___2___;(注:预计此次出题概率较大的集中在第1套至第20套,第41套至第60套,第96套至第105套)使用说明:打开填空题程序后,以看到的所要填写的三个空作为查找参照;操作题分为填空题、改错题、编程题,如果你考试的填空题三个空的内容和这题库中给出的某一道填空题的题目三个空的内容一样,那么你的改错题、编程题的答案也都在下面(同一套题)。

c语言上机练习

第一次上机练习(首次)1.阅读以下程序,说出其功能和运算结果(输入5↙)。

#include <stdio.h>int main( ){int n ;int factorial(int n) ;scanf("%d",&n) ;printf("%d\n", factorial(n)) ;return 0 ;}int factorial(int n){int i, fact=1 ;for(i=1;i<=n;i++)fact=fact*i ;return fact ;}答案:120 求n的阶乘。

2.改正下列程序中的错误,在屏幕上显示“Welcome to You!”。

#include <stdio.h>int mian( ){printf("Welcome to You!\n")return 0 ;}答案:2行main4行末尾少分号3.编写程序在屏幕上显示以下内容:Programming is fun.And Programming in C is even more fun!答案:#include <stdio.h>int main( ){printf("Programming is fun.\nAnd Programming in C is even more fun!\n") ;return 0 ;}4.编写程序输出以下图案:* * * ** * ** **答案:#include <stdio.h>void main( ){printf("* * * *\n");printf(" * * *\n");printf(" * *\n");printf(" *\n");}5.编写程序,计算并在屏幕上显示10~20的平方值。

c语言第一次作业

c语⾔第⼀次作业⼀、PTA实验作业题⽬1.温度转换本题要求编写程序,计算华⽒温度150°F对应的摄⽒温度。

计算公式:C=5×(F−32)/9,式中:C表⽰摄⽒温度,F表⽰华⽒温度,输出数据要求为整型。

1.实验代码int fahr,celsius;fahr = 150;celsius = 5*(fahr-32)/9;printf("fahr = 150, celsius = %d\n",celsius);2 设计思路主要描述题⽬算法。

第⼀步:定义华⽒温度fahr和摄⽒温度celsius第⼆步:输⼊题⽬中给定的华⽒温度150第三步:写出计算公式celsius = 5*(fahr-32)/9第四步:输出fahr和celsius的值3.本题调试过程碰到问题及解决办法错误:单词stdio拼写错误,写成studio。

解决⽅法:从头看了⼀下程序,发现错误之后改掉,继续看⼀下有没有其他错误,提交后答案正确。

4.本题PTA实验结果题⽬2.将x的平⽅赋值给y假设x的值为3,计算x的平⽅并赋值给y,分别以“y = x ∗ x”和“x ∗ x = y”的形式输出x和y的值。

1.实验代码int x,y;x=3;y=x*x;printf("%d = %d * %d\n",y,x,x);printf("%d * %d = %d",x,x,y);2. 设计思路主要描述题⽬算法。

第⼀步:定义整数x,y第⼆步:给出x的值x=3第三步:给出公式y=x*x第四步:输出9=3*3和3*3=93.本题调试过程碰到问题及解决办法(1)误解题⽬,认为是输出y=3*3和3*3=y解决⽅法:重新阅读了⼏遍题⽬,改了多次并与同学交流讨论理解题⽬意思(2)错误:没有⽤公式y=x*x,直接在输出语句中计算y解决⽅法:多次修改,试了⼏遍,根据提交后给出的错误的提⽰⼀直调试,最后终于答案正确。

2014年9月份考试软件技术基础第一次作业

2014年9月份考试软件技术基础第一次作业一、单项选择题(本大题共100分,共 40 小题,每小题 2.5 分)1. 一个C语言程序是由( )组成 A. 主程序 B. 子程序 C. 函数 D. 过程2. 下列数据中,属于“字符串常量”的是() A. Abcddd B. "abcddd" C. 'abcddd' D.‘a’3. char s=”good student”(两个单词间有一空格),*(s+5)的值是() A. ‘s ’ B.‘ ’(空格) C. ‘d’ D. ‘t’4. 以下程序的输出结果是()A. 0B. 1C. 2D. 35. 下列有关共同体说法正确的是( ) A. 任一时刻,只有一个分量有效,其他分量无意义 B. 共同体变量可以用作函数参数 C. 结构变量可以出现在共同体类型中,而共同体变量不能出现在结构类型中 D. 在定义共同体变量时不能为其初始化6. 一个顺序表第一个元素的存储地址是300,每个元素的长度为5, 则第7个元素的地址是() A. 334 B. 335 C. 330 D. 3317. 有以下语句: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)8. 在函数中,不能定义自动变量的位置是( ) A. 所有函数体外 B. 函数形参 C. 复合语句内 D. 函数体的开始部分9. 若有以下定义和语句 :则以下选项中错误的语句是() A. p=10 B. w=p C. *p=a D. *p=*w10. 以下正确的叙述是() A. 在C语言中,main函数必须位于文件的开头 B. C语言每行中只能写一条语句 C. C语言本身没有输入、输出语句 D. 对一个C语言进行编译预处理时,可检查宏定义的语法错误11. 在数据结构中,从逻辑上可以把数据结构分为() A. 动态结构和静态结构 B. 紧凑结构和非紧凑结构 C. 线性结构和非线性结构 D. 内部结构和外部结构12. 若定义int i; 则循环结构:for(i=2; i==0;) printf("%d", i--); 的循环次数是( ) A. 无限次 B. 0次 C. 1次 D. 2次13. 在C语言中,合法的符号常量定义是() A. #include PI 3.1415 B. #define PI3.1415 C. #if PI 3.1415 D. Define PI 3.141514. 计算机系统的应用模式不包含() A. 主机-终端式 B. 排队模式 C. 客户-服务器模式 D. 浏览器-服务器模式15. 已定义x为float型变量, x=-213.82131; printf("%-3.2f\n",x);则以上程序段输出 ( ) A. ***** B. 3.82 C. 213.82 D. -213.8216. 设n=10,i=4,则赋值运算n%=i+1执行后,n的值是() A. 0 B. 3 C. 2 D. 117. 结构化程序设计的三种基本结构是() A. if、switch、break B. if while for C. while do- while for D. 顺序结构、选择结构、循环结构18. 若有int max(), (*p)(); 为使函数指针变量p指向函数max,正确的赋值语句是( ) A. p=max B. *p=max C. p=max(a, b) D. *p=max(a, b)19. 在每个C++程序中都必须包含有这样一个函数,该函数的函数名为() A. Name B. MAIN C. main D. function20. 以下能正确定义一维数组的选项是( ) A. int a[5]={0,1,2,3,4,5} B. chara[]={0,1,2,3,4,5} C. char a={'A','B','C'} D. double a[5]="0123"21. 下面的程序执行后,文件test中的内容是()A. new worldB. worldhello,C. hello,D. hello, rld22. 以下程序编译时出现错误,以下叙述中正确的是( )A. 程序中只有a='\';语句不正确 B. b='\xbc';语句不正确 C. d="\0127";语句不正确 D. a='\';和c='\0xab';语句都不正确23. 建立函数的目的的正确说法是() A. 提高程序的执行效率 B. 支持模块化程序设计C. 减少程序的长度D. 减少程序文件的存储空间24. 算法是解决一个问题的方法和步骤。

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

2014年9月份考试C语言程序设计第一次作业一、单项选择题(本大题共90分,共 30 小题,每小题 3 分)1. 面四个选项当中,均是关键字的是()A. auto,enum,includeB. switch,typedef,continueC. signed,union,scanfD. if,struct,type2. 设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围是()A. 0~255B. 0~32767C. 0~65535D. 0~21474836473. 有如下程序段int *p,a=10,b=1;p=&a;a=*p+b;执行该程序段后,a的值为( ) A. 12 B. 11 C. 10 D. 编译出错4. 以下程序的输出结果是( )A. 31B. 13C. 10D. 205. 有以下程序:main(){int x=0,y=5,z=3;while(z-->0&&++x<5) y=y-1;printf("%d,%d,%d\n",x,y,z);}程序执行后的输出结果是().A. 3,2,0B. 3,2,-1C. 4,3,-1D. 5,-2,-56. 有以下定义语句double a,b;int w;long c;若各变量已正确赋值,则下列选项中正确的表达式是().A. a=a+b=b++B. w%((int)a+b)C. (c+w)%(int)aD. w=a==b7. 下面程序的运行结果是:()#include main(){int num=0;while(num<=2){num++;printf(“%d”,nu m);}}A. 1B. 1 2C. 1 2 3D. 1 2 3 48. 请读程序:#include main(){int a;float b, c;scanf("%2d%3f%4f",&a,&b,&c);printf("\na=%d,b=%f,c=%f\n",a,b,c);}若运行时从键盘上输入9876543210↙,则上面程序的输出结果是().A. a=98,b=765,c=4321B. a=10,b=432,c=8765C. a=98,b=765.000000,c=4321.000000D. a=98,b=765.0,c=4321.09. 下面四个选项中,均是不合法的转义字符的选项是()A. \" \\ \xfB. \1011 \ \aC. \011 \f \}D. \abc \101 x1f10. 以下程序的输出结果是( )A. 1B. 2C. 3D. 411. 下面程序的输出是()fun3(int x){static int a=3;a+=x;return(a);}main(){int k=2, m=1, n;n=fun3(k);n=fun3(m);printf("%d\n",n);}A. 3B. 4C. 6D. 912. 已知i,j,k为int 型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j 的值为2、k的值为3,以下选项中正确的输入语句是()A. scanf("%2d%2d%2d",&i,&j,&k);B. scanf("%d %d %d",&i,&j,&k);C. scanf("%d,%d,%d",&i,&j,&k);D. scanf("i=%d,j=%d,k=%d",&i,&j,&k);13. 以下定义: char x[]="abcdefg"; chary[]={''a'',''b'',''c'',''d'',''e'',''f'',''g''}; 则正确的叙述为()A. 数组X和数组Y等价B. 数组x和数组Y的长度相同C. 数组X的长度大于数组Y的长度D. 数组X的长度小于数组Y的长度14. 下列为合法的用户标识符为()A. _98B. P#dC. a*D. void15. 有以下程序main(){int i=0,s=0;for (;;){if(i==3||i==5) continue;if (i==6) break; i++; s+=i;};printf("%d\n",s);}程序运行后的输出结果是().A. 10B. 13C. 21D. 程序进入死循环16. 假设所有的变量都是整型,则表达式(a=2,b=5,b++,a+b)的值是()A. 7B. 8C. 9D. 217. 下面函数的功能是()int funl(char * x){char * y=x;while(*y++);return(y-x-1);}A. 求字符串的长度B. 比较两个字符串的大小C. 将字符串x复制到字符串yD. 将字符串x连接到字符串y后面18. 下面的程序输出是()typedef union{long x[2];int y[4];char z[8];}MYTYPE;MYTYPE them;main(){printf("%d\n",sizeof(them));}A. 32B. 16C. 8D. 2419. 若程序中已包含头文件stdio.h,以下选项中,正确运用指针变量的程序段是().A. int *i=NULL;scanf("%d",i);B. float *f=NULL;*f=10.5;C. char t=''m'',*c=&t;*c=&t;D. long *L;L=''\0'';20. 有以下程序void swap1(int c[]){int t;t=c[0];c[0]=c[1];c[1]=t;}void swap2(int c0,int c1){int t;t=c0;c0=c1;c1=t;}main(){int a[2]={3,5},b[2]={3,5};swap1(a);swap2(b[0],b[1]);printf("%d %d %d %d\n", a[0],a[1],b[0],b[1]);}A. 5 3 5 3B. 5 3 3 5C. 3 5 3 5D. 3 5 5 321. 若有以下的说明和语句:main(){int t[3][2], *pt[3],k;for(k=0; k<3;k++) pt[k]=t[k];}则以下选项中能正确表示t数组元素地址的表达式是()A. &t[3][2]B. *pt[0]C. *(pt+1)D. &pt[2]22. 有如下程序long fib(int n){if(n>2) return(fib(n-1)+fib(n-2));else return(2);}main(){printf("%ld\n",fib(3));}该程序的输出结果是().A. 2B. 4C. 6D. 823. 若有定义:int a = 7; float x = 2.5 , y = 4.7 ; 则表达式 x + a % 3 * (int) (x + y) % 2/4 的值是()A. 2.750000B. 0.00000C. 3.500000D. 2.50000024. 设有定义语句int x[6]={2,4,6,8,5,7},*p=x,i;要求依次输出x数组6个元素中的值,不能完成此操作的语句是().A. for(i=0;i<6;i++) printf("%2d",*(p++))B. for(i=0;i<6;i++) printf("%2d",*(p+i))C. for(i=0;i<6;i++) printf("%2d",*p++)D. for(i=0;i<6;i++) printf("%2d",(*p)++)25. 若有定义:int *p[3];,则以下叙述中正确的是().A. 定义了一个基类型为int的指针变量p,该变量具有三个指针B. 定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针C. 定义了一个名为*p的整型数组,该数组含有三个int类型元素D. 定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素26. 有以下程序:struct s{int x,y;}data[2]={10,100,20,200};main(){struct s *p=data;printf("%d\n",++(p->x));}程序运行后的输出结果是().A. 10B. 11C. 20D. 2127. 以下程序运行后,输出结果是()int d=1;fun(int p){int d=5;d+=p++;printf("%d",d);}main(){int a=3;fun(a);d+=a++;printf("%d\n",d);}A. 84B. 99C. 95D. 4428. 下面函数的功能是()sss(char *s, char *t)while((*s)&&(*t)&&(*t++== *s++));return(*s-*t);}A. 求字符串的长度B. 比较两个字符串的大小C. 将字符串s复制到字符串t中D. 将字符串s接续到字符串t中29. 若ch为char型变量,k为int型变量(已知字符a的 ASCll码是97),则执行下列语句后的输出为()ch=''a''; k=12;printf("%x,%o,",ch,ch,k);printf("k=%%d\n",k);A. 因变境类型与格式描述符的类型不匹配,输出无定值B. 输出项与格式描述符个数不符,输出为0值或不定值C. 61,141,k=%dD. 61,I41,k=%130. 下列程序的输出结果是()main(){int i=0,a=0;while(i<20){for(;;) if (i%10==0) break;else i--; i+=11;a+=i ;}printf("%d\n",a) ;}A. 21B. 32C. 33D. 11二、判断题(本大题共10分,共 10 小题,每小题 1 分)1. 在C语言中,当while语句构成的循环中的条件为1时,结束循环.()2. C语言中,sizeof是一个运算符.()3. 若有说明int c; 则while(c=getchar());是正确的C语句.()4. 如果一个外部变量的定义形式为static int x; 那么static的作用应该是使x只能在本文件内引用.()5. for循环语句和while循环语句可以相互转化.()6. 在循环体中,continue语句的功能是结束本层循环()7. unsigned 和void 在C语言中都是保留字.()8. 定义数组int arr[3],则给数组赋值的操作arr[]={5,3,6};是正确的.()9. 表达式i=1,3>4?i++:i--执行完毕后i的值是0.()10. 7&3+12的值是13.()答案:一、单项选择题(90分,共 30 题,每小题 3 分)1. B2. C3. B4. A5. B6. C7. C8. C9. B 10. A 11. C 12. C 13. C14. A 15. D 16. B 17. A 18. C 19. D 20. B 21. C 22. B 23. D 24. D 25.B 26. B 27. A 28. B 29.C 30. B二、判断题(10分,共 10 题,每小题 1 分)1. ×2. √3. √4. √5. √6. ×7. √8. ×9. √ 10. ×。

相关文档
最新文档