版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022-2023年广东省惠州市全国计算机等级考试C语言程序设计知识点汇总卷(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.设有定义:charc[]=“Cc”;FILE*fp;且fp指向以“w”的方式成功打开的文件,若要将c中的两个字符写入文件,且每个字符占一行,则下面的选项中正确的是()。
A.fprintf(fp,“%c\n%c\n”,c[0],c[1]);
B.fprintf(fp,“%c\r\n%c\r\n”,c[0],c[1]);
C.fprintf(fp,“%c%c”,c[0],c[1]);
D.fprintf(fp,“%s\n”,c);
2.软件生命周期是指()。A.软件产品从提出、实现、使用维护到停止使用退役的过程
B.软件从需求分析、设计、实现到测试完成的过程
C.软件的开发过程
D.软件的运行维护过程
3.定义下列结构体(联合)数组:structst{charname[15];intage;}a[10]={"ZHA0",14,"WANG",15,"LIU",16,"ZHANG",17);执行语句printf("%d,%C",a[2].age,*(a[3].name+2))的输出结果为()。A.15,AB.16,HC.16,AD.17,H
4.判定一个循环队列qu(最多元素为MaxSize)为空的条件是()。
A.QU->rear-QU->front==MaxSize
B.QU->rear-QU->front-1==MaxSize
C.QU->front==QU->rear
D.QU->front==QU->rear+1
5.下列关于栈的描述中错误的是()。A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针
6.结构化程序设计方法的3种基本控制结构中不包括
A.循环结构B.递归结构C.顺序结构D.选择结构
7.设有如下定义:intx=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是()。
A.1B.0C.4D.3
8.若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是()。
A.#definen5inta[2*n];
B.intn=10,a[n];
C.inta[5+5];
D.#defineN10inta[N];
9.
10.有以下程序:#include<stdio.h>#defineS(x)4*(x)*x+1main(){intk=5,j=2;printf("%d\n",S(k+j));}程序运行后的输出结果是()。A.197B.143C.33D.28
11.
下述程序的输出结果是()。
#include<stdio.h>
voidmain
{intb[6]={2,4,6,8,10,12);
int*p=b,**q=&p;
printf("%d,",*(p++));
printf("%d,",**q);
}
A.4,4B.2,2C.4,5D.2,4
12.下面的哪一个保留字不能作为函数的返回类型()。
A.voidB.intC.newD.long
13.若有定义“inta=3;doubleb=0.1263;charch=‘a’;”,则以下选项中叙述有错的是()。
A.逗号表达式的计算结果是最后一个表达式的运算结果
B.运算符“%”只能对整数类型的变量进行运算
C.语句“ch=(unsignedint)a+b;”是对a与b之和进行强制类型转换,结果赋值给变量ch
D.复合运算“a*=b+ch”是将变量b、ch之和与a相乘,结果再赋值给a
14.目前以比较为基础的内部排序方法中,其比较次数与待排序的记录的初始排列状态无关的是()
A.插入排序B.快速排序C.二分插入排序D.冒泡排序
15.将两个字符串连接起来组成一个字符串时,选用()函数。A.strlen()B.strcpy()C.strcat()D.strcmp()
16.设有定义:intk=1,m=2;noatf=7;则下列选项中错误的表达式是()。
A.k=k>=kB.-k++C.k%int(f)D.k>=f>=m
17.下面关于哈希(Hash,杂凑)查找的说法正确的是()
A.哈希函数构造的越复杂越好,因为这样随机性好,冲突小
B.除留余数法是所有哈希函数中最好的
C.不存在特别好与坏的哈希函数,要视情况而定
D.若需在哈希表中删去一个元素,不管用任何方法解决冲突都只要简单地将该元素删去即可
18.有以下程序:main(){char*p[10]={"abc","aabdfg","dcdbe","abbcf',"cd"};printf("%d\n",strlen(p[4]));}执行后的输出结果是______。
A.2B.3C.4D.5
19.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩.,则表SC的关键字(键或码)为()
A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩
20.交换两个变量的值,不允许用临时变量,应该使用下列()位运算符。
A.&B.^C.‖D.~
二、2.填空题(20题)21.在C语言中,while和do…while循环的主要区别是______的循环至少被执行一次。
22.执行以下程序后的输出结果是【】。
main()
{inta=10;
a=(3*5,a+4);printf("a=%d\n",a);
}
23.有以下程序:
fun(inta,intb)
{if(a>b)return(a);
elsereturn(b);
}
main()
{intx=3,y=8,z=6,r;
r=fun(fun(x,y),2*z);
printf("%\d\n",r);
}
程序运行后的输出的结果是【】。
24.下面的语句要使指针p指向一个double类型的动态存储单元,请填空。
p=【】malloc(sizeof(double));
25.在面向对象的方法中,______描述的是具有相似属性与操作的一组对象。
26.下列程序的运行结果是______。
#include<string.h>
char*ss(char*s)
{returns+strlen(s)/2;}
main()
{char*p,*str="abcdefgh";
p=ss(str);printf('%s\n",p);
}
27.当运行以下程序时,输入abcd,程序的输出结果是:()。
insert(charstr[])
{inti;
i=strlen(str);
while(i>0)
{str[2*i]=str[i];str[2*i-1]='*';i--;}
printf("%s\n",str);
}
main()
{charstr[40];
scanf("%s",str);insert(str);
}
28.以下程序运行后的输出结果是______。
main()
{
chara[]="123456789",*p;
inti=0;
p=a;
while(*p)
{
if(i%2==0)
*p='*';
p++;i++;
}
puts(a);
}
29.若有以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是______。
intw[10]={23,54,10,33,47,98,72,80,61},*p=w;
30.有以下程序
main()
{intn=0,m=l,x=2;
if(!n)x-=1;
if(m)x-=2;
if(x)x-=3;
printf("%d\n",x);
}
执行后输出的结果是______。
31.数据库系统中实现各种数据管理功能的核心软件称为【】。
32.下面程序是指从终端读入的20个字符放入字符数组中,然后利用指针变量输出上述字符串,请填空。
#include<stdio.h>
main()
{inti;chars[21],*p;
for(i=0;i<20;i++)
s[i]=getchar();
s[i]=【】;
p=【】;
while(*p)putchar(*p++);}
33.软件测试按功能划分的方法划分,通常分为【】测试方法和黑盒测试方法。
34.软件工程研究的内容主要包括:【】技术和软件工程管理。
35.软件生命周期分为软件定义期、软件开发期和软件维护期,详细设计属于______中的一个阶段。
36.软件是程序、数据和【】的集合。
37.注释一般分为序言性注释和______注释。
38.设Y是int型变量,请写出判断Y为奇数的关系表达式【】。
39.对一组记录{54,38,96,23,15,72,60,45,83}进行直接插入排序时,当插入第5个记录到有序表时,寻找插入位置需比较【】次。
40.在算法的4个特性中,算法必须能在执行有限个步骤之后终止指的是算法的______特性。
三、1.选择题(20题)41.已知学生记录描述为:structstudent{intno;charname[20],sex;struct{intyear,month,day;}birth;};structstudents;设变量s中的“生日”是“1984年11月12日”,对“birth”正确赋值的程序段是()。
A.year=1984;month=11;day=12;
B.s.year=1984;s.month=11;s.day=12;
C.birth.year=1984;birth.month=11;birth.day=12;
D.s.birth.year=1984;s.birth.month=11;s.birth.day=12;
42.下列程序的输出结果是______。main(){chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf("%d",*--p);}
A.非法B.a[4]的地址C.5D.3
43.下面程序的输出结果是()#definePI3.1415#defineARE(x)PI*x*xmain(){intr=2;printf("%f",ARE(r+1));}
A.28.26B.28.26C.9.28D.9.28
44.下列正确的转义字符是()。
A.\1234B.57C.\'D.\\060
45.已知字母A的ASCII码为十进制数65,下面程序的输出结果是()main(){charch1,ch2;ch1=A+5-3;ch2=A+6-3;printf("%d,%c\n",ch1,ch2);}
A.67,DB.B,CC.C,DD.不正确定的值
46.一个栈的输入序列为1,2,3,4,下列选项中的______序列不可能是这个栈的输出序列。
A.1,3,2,4B.2,3,4,1C.4,3,1,2D.3,4,2,1
47.源程序的文档化不包括()。
A.符号名的命名要有实际意义B.正确的文档形式C.良好的视觉组织D.正确的程序注释
48.C语言可执行程序的开始执行点是
A.程序中第一条可执行语句B.程序中第一个函数C.程序中的main函数D.包含文件中的第一个函数
49.以下不合法的数值常量是()。
A.11B.le1C.3.0E0.5D.0xabcd
50.对于一个正常运行的C程序,下列叙述中正确的是()。A.A.程序的执行总是从main函数开始,在main函数结束
B.程序的执行总是从程序的第一个函数开始,在main函数结束
C.程序的执行总是从main函数开始,在程序的最后一个函数中结束
D.程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数中结束
51.有以下定义语句
doublea,b;intw;longc;
若各变量已正确赋值,则下列选项中正确的表达式是A.a=a+b=b++B.w%(int)a+b)C.(c+w)%(int)aD.w=a==b;
52.执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是______。mein(){chars[100];intc,i;scanf("%c",&C);scanf("%d",&i);scanf("%s",s);printf("%c,%d,%s\n",c,i,s);}
A.123,456,789B.1,456,789C.1,23,456,789D.1,23,456
53.下列程序的输出结果是()。#include<stdio.h>voidmain(){intb[6]={2,4,6,8,10,12};int*p--b,**q=&p;printf("%d",*(p++));printf("%d",**q);}
A.*p=&a;scanf("%1f",p);
B.*p=&a;scanf("%f",p);
C.p=&a;scanf("%1f",*p);
D.p=&a;scanf("%1f",p);
54.下列的程序用来输出两个字符串前7个字符中对应相等的字符及其位置号,程序空白处应该填写的是()。#include<stdio.h>main(){Charsl[]="Chinese",s2[]="japnese";inti;for(i=0;s1[i]!='\0'&&s2[i]!='\0';i++)if(s1[i]=s2[i]&&i<7)____________________;}
A.putchar(s2[i];putchar(i)
B.puts(s1[i],i)
C.printf("%c%d\n",s2[i],i)
D.printf("%c",s1[i]);printf("%d\n",i)
55.以下程序的输出结果是______。#include<stdio.h>voidprt(int.*x,int*y,int*z){printf("%d,%d,%d\n",++*x,++*y,*(z++));}inta=10,b=40,c=20;main(){prt(&a,&b&c);prt(&a,&b,&c);}
A.11,42,3112,22,41
B.11,41,2012,42,20
C.11,21,4011,21,41
D.11,41,2112,42,22
56.以下能正确定义字符串的语句是()。
A.charstr[]={'\064'};
B.charstr="\x43";
C.charstr=";
D.charstr[]="\0";
57.有以下程序#include<stdio.h>#include<string.h>typedefstrtlct{charname[9];charsex;floatscore[2];}STU;voidf(STUA)
{STUb={"Zhao",'m',85.0,90.0};inti;strcpy(,b.name);a.sex=b.sex;for(i=0;i<2;i++)a.score[i]=b
A.Qian,f,95,92B.Qian,m,85,90C.Zhao,f,95,92D.Zhao,m,85,90
58.已有定义:chara[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是
A.数组a和b的长度相同B.a数组长度小于b数组长度C.a数组长度大于b数组长度D.上述说法都不对
59.数据封装要解决的问题是()
A.实现规范化B.防止书写错误C.防止非法访问D.实现类型转换
60.下列叙述中不正确的是()。
A.在C语言中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B.在C的函数中,最好使用全局变量
C.外部变量可以在函数之间传递数据
D.自动变量实质上是一个函数内部的局部变量
四、选择题(20题)61.第
11
题
若有定义:char*st="howareyou";下列程序段中正确的是
A.chara[11],*p;strcpy(p=a+1,&st[4]);
B.chara[11];strcpy(++a,st);
C.chara[11];strcpy(a,st);
D.chara[],*p;strcpy(p=&a[1],st+2);
62.设x、y和z是int型变量,且x=4,y=6,z=8,则下列表达式中值为0的是()。
A.x&&yB.x<=yC.x||++y&&y-zD.!(x<y&&!z||1
63.
64.有以下程序:
main
{chara='a',b;
printf("%c,",++a);
printf("%c\n",b=a++):
)
程序运行后的输出结果是()。A.A.b,bB.b,cC.a,bD.a,c
65.
66.C语言中用于结构化程序设计的三种基本结构是A.顺序结构、选择结构、循环结构
B.if、switch、break
C.for、while、do-while
D.if、for、continue
67.有以下程序(说明:字母A的ASCIl码值是65):
程序运行后的输出结果是()。
A.BTB.YEC.YTD.BY
68.有如下说明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是()
A.*p+9B.*(p+8)C.*p+=9D.p+8
69.若有定义:“doublea=22;inti=0,k=18;”,则不符合C语言规定的赋值语句是()。
A.a=a++,i++;
B.i=(a+k)<=(i+k);
C.i=a%11;
D.i=!a;
70.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp),的返回值为()。
A.0B.\0C.非0值D.NULL
71.
72.
73.(20)数据库设计包括两个方面的设计内容,它们是()
A.概念设计和逻辑设计
B.模式设计和内模式设计
C.内模式设计和物理设计
D.结构特性设计和行为特性设计
74.
75.(30)关系数据库管理系统能实现的专门关系运算包括()
A.排序、索引、统计
B.选择、投影、连接
C.关联、更新、排序
D.显示、打印、制表
76.已知字符A的ASCⅡ代码值是65,字符变量c1的直是A,c2的值是D。执行语句printf("%d,%d",c1,c2-2);后,输出结果是()。
A.A,BB.A,68C.65,66D.65,68
77.定义如下变量和数组:
则下面语句的输出结果是()。
A.951B.741C.753D.963
78.
79.以下叙述中错误的是(
)。A.预处理命令行必须位于源文件的开头B.宏替换可以出现在任何一行的开始部位C.宏替换的作用一直持续到源文件结尾D.宏替换不占有程序的运行时间
80.下列哪个属性是用来定义内联样式的?()
A.fontB.classC.stylesD.style.
五、程序改错题(1题)81.下列给定程序中,函数proc()的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。例如,当s中的数为l23456789时,t中的数为l3579。请修改程序中的错误,使它能得到正确结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:
六、程序设计题(1题)82.
参考答案
1.A要写入字符数据,需要使用格式字符%c,选项D错误;换行符需要使用‘\\n’,而不是‘\\r\\n’,选项B错误;选项C中未使用换行符,不满足题意。故本题答案为A选项。
2.A通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。
3.C本题考查结构体数组。a[2].age为结构体aEZ]的age成员,即a[3].name为指向结构体a[3]的name成员的第一个元素的指针,即指向“2”,(a[3].name+2)将指针后移两位指向第三个元素“A”,*(a[3].name+2)是取指针所指向地址的内容。
4.C
5.B栈是限定只能在表的一端进行插入和删除操作的线性表,入栈和出栈都是在栈顶进行,它们的操作特点是先进后出,因此具有记忆作用。栈可以采用顺序存储,也可以采用链式存储。
6.B解析:本题考查了程序的基本结构。程序由一些基本结构组成。任何一个大型的程序都由3种基本结构组成,由这些基本结构顺序的构成了一个结构化的程序。这3种基本结构为:顺序结构、选择结构和循环结构。
7.D
8.B一维数组定义的一般形式为:类型说明符数组名[常量表达式]。注意定义数组时,元素个数不能是变量。故本题答案为B选项。
9.C
10.B此程序考查带参数的宏定义,S(k+j)展开后即4*(k+j)*k+j+1,所以结果为l43,答案为B。
11.D
\n首先定义了一个指向一维数组b的指针P,一个指向指针P的指针变量q;输出*(p++)是先输出*p,即b[O]的值,再将指针P指向数组的下一个元素b[1];输出**q是输出指针P所指单元的内容。
\n
12.C
13.C逗号表达式的计算结果是最后一个表达式的运算结果,选项A正确;运算符“%”是求余运算符,只能对整数类型的变量进行运算,选项B正确;在语句“ch=(unsignedint)a+b”中,圆括号优先级最高,所以首先将a强制转换成无符号整型,再与b相加,结果赋值给ch,选项C错误;复合运算“a*=b+ch”,先计算“b+ch”的值,再将a与b、ch之和相乘,结果再赋值给a,选项D正确。故本题答案为C选项。
14.C
15.C将两个字符串连接起来组成一个字符串,选用strcat函数来连接。
16.C解析:在C语言中,求余运算符“%”两边的运算对象都应为整型数据,所以需要对变量f进行强制类型转换,正确的写法为k%(int)f。在C语言中,逻辑运算符与赋值运算符、算术运算符、关系运算符之间从高到低的运算优先次序是:!(逻辑“非”)、算术运算符、关系运算符、&&(逻辑“与”)、‖(逻辑“或”)、赋值运算符。根据运算符的优先级与结合性,对于选项A),先计算k>=k的值(为真,即1),再用1对k进行赋值。对于选取项B),先计算k什的值,再对其取负数。对于选项D),先计算k>=f的值(为假,即0),再用0与m进行比较,故最终结果为0。
17.C
18.A解析:本题中p[4]='cd',所以strlen(p[4])=2。
19.C学号是学生表S的主键,课号是课程表C的主键,所以选课表SC的关键字就应该是与前两个表能够直接联系且能唯一定义的学号和课号,所以选择C项。
20.B按逻辑位运算特点:①用按位与运算将特定位清为0或保留特定位;②用按位或运算将特定的位置为1;③用按位异或运算将某个变量的特定位翻转或交换两个变量的值。
21.do…whiledo…while解析:考查while和do…while循环的主要区别。while循环的控制出现在循环体之前,只有当while后面的表达式的值为非零时,才可能执行循环体;在do…while构成的循环体中,总是先执行一次循环体,然后再求表达式的值,因此无论表达式的值是否为零,循环体至少要被执行一次。
22.a=14a=14解析:逗号表达式的值是以逗号分隔的最后一个表达式的值。所以题目中的语句a=(3*5,a+4);就等价于a=a+4;。故本题输出结果是a=14。
23.1212解析:函数fun的功能是求两个数当中的最大值。语句r=fun(fun(x,y),2*z)的执行过程为:首先计算fun(x,y),因x=3、y=8,所以结果为8;然后计算fun(8,2,*z),即计算fun(8,12),所以r=12。
24.(double*)(double*)解析:本题考查强制类型转换。函数malloc的默认返回是void*,若要使指针指向double类型,必须进行类型转换,类型转换格式为:(数据类型*)。
25.类类解析:在面向对象的方法中,把具有相同属性和方法的对象称为类,类是对象的抽象,对象是类的实例。
26.efghefgh解析:本题考核的知识点是通过指针引用字符串.函数“的作用是让形参指针s指向该字符串的右半部分.主函数中首先定义了一个字符型指针变量p和字符型指针str;并初始化为“abcdefgh”,然后调用函数ss,将实参str传给形参s,因此可知该函数返回的指针,指向str所指的字符串“abcdefgh”的右半部分,即指向字符串“efgh”,所以最后输出指针p(指针p的值为调用函数ss(sD)的返回值)所指向的字符串为“efgh。
27.a*b*c*d*a*b*c*d*解析:字符处理函数strlen()测试字符串常量的长度,不包括‘\\0’在内。因此,函数insert()实现了将字符数组中每个非‘\\0’的字符后插入字符‘*’的功能。故输出结果是a*b*c*d*。
28.*2*4*6*8**2*4*6*8*解析:程序中定义了一个字符数组a,并初始化为123456789,接着定义了一个指针p并让它指向数组a,紧接着执行了一个while循环,此循环的作用是:当i为偶数时,将“*”赋给a[i],p指向数组末尾,循环结束,此时数组中a[0]、a[2]、a[4]、a[6]和a[8]的值都为“*”,所以最后调用puts()函数输出的a的值为*2*4*6*8*
29.*(p+5)或p[5]*(p+5)或p[5]
30.-4-4解析:本题考核的知识点是if...else结构的应用。if…else构造了一种二路分支选择,是一种最基本的选择结构,if(条件)S1(if分结构)elseS2(else分结构),它的工作过程是:先对条件表达式进行判断,若为真(成立,值为非零),就执行if分结构(S1);否则(不成立,值为0),就执行else分结构(S2)。本题中,n=0,可以判断(!n)为真,执行x=x-1=2-1=1;m=1,可以判断(m)为真,执行x=x-2=1-2=-1;进而可以判断(x)为真,执行x=x-3=-l-3=4。所以,最后输出为叫
31.数据库管理系统数据库管理系统(DBMS)
32.\0's\\0'\r\ns解析:本题选通过for循环从键盘读入20个字符,然后在最后赋一定值'\\0'后为结束标志,再使指针p指向字符串的首地址。最后通过while循环对字符串进行扫描并输出。
33.白盒白盒解析:软件测试的方法分为白盒测试方法和黑盒测试方法。
34.软件开发
35.软件开发软件开发解析:软件生命周期分为3个时期共8个阶段:软件定义期(问题定义、可行性研究和需求分析)、软件开发期(系统设计、详细设计、编码和测试)、软件维护期(即运行维护阶段)。
36.文档文档解析:计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据以及相关文档的完整集合。
37.功能性功能性解析:注释一般分为序言性注释和功能性注释。序言性注释通常位于每个程序的开头部分,给出程序的整体说明;功能性注释一般嵌在源程序体之中,主要描述其后的语句或程序做什么,
38.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判断变量是否为奇数可以用变量与2取模,判断结果是为1或下为0。本题具体做法如下:Y%2=1或Y%2!=0。
39.11解析:直接插入排序是在已排好序的序列中用顺序查找法查找插入位置。第5个记录是15,15和23比较,就知道15应放在原23放的位置,23及其以后的记录后移。
40.有穷性有穷性解析:算法的4个基本特性包括:可靠性、确定性、有穷性和拥有足够的情报,其中,算法的有穷性指的是算法必须在有限的时间内完成,即算法必须在执行有限个步骤之后终止。
41.D解析:本题考查结构体变量的基本概念。引用结构体成员的方式为:
结构体变量名.成员名
“.”是“成员运算符”(分量运算符),如果成员本身又是一个结构体类型,则要用若干个成员运算符,一级一级地找到最低一级的成员。只能对最低级的成员进行赋值或存取以及运算,所以选项D)正确。
42.C解析:本题中char*p=a+5;即相当于p=&a[5],而--p,是先要减1,则printf语句要输出的值就是a[4]。
43.D
44.C解析:转义字符是要用\\开头的,所以选项B不是转义字符。开头的斜杠为单斜杠,所以选项D不是转义字符。斜杠后面可跟1至3位八进制数,可以由0开头:或以x开头的1至2位十六进制数,因此选项A是错误的。\\为转义字符,为单引号字符,所以选项C符合题意。
45.A
46.C
47.B解析:源程序的文档化主要包括3点:(1)符号名应具有一定实际的含义,便于理解程序功能:(2)正确的程序注释;(3)良好的视觉组织。利用空格、空行、缩进等技巧使程序层次清晰。
48.C解析:本题考查了C程序的基本概念。C程序是从main函数开始执行的,并不是从第一条语句获第一个函数开始执行的。
49.C解析:数值常量分为整型常量、实型常量、字符型常量。实型常量有两种表示形式:十进制小数形式和指数形式,用指数形式表示时字母e(或E)之前必须有数字,且c(或E)后面的指数必须为整数。如:e3,7e3.5,3.OEO.5都是不合法的。
50.A解析:一个C语言源程序无论包括了多少函数,总是从main函数开始执行,从main函数结束。
51.C解析:选项A不是合法的赋值语句,将最右边的第一个赋值表达式加括号即为a=a+(b=b++)才正确,故选项A不正确。选项B中运算符%的对象必须是整型,而在选项B中(int)a+b为double型,故选项B不正确。a,b都为double型,应当避免使用a==b这样的关系表达式,因为通常存放在内存中的实型数据是有误差的,因此不可能精确相等,这将导致关系表达式a==b总为0。所以,4个选项中选项C符合题意。
52.D解析:根据给定的数据输入格式:123<空格>456<空格>789<回车>,第一个scanf语句中,格式字符为“%c”,只能得到一个字符\'1\',第二个scanf语句中格式字符为“%d”,变量i得到的数值为23,第三个scanf语句中格式字符为“%s”,遇到空格就自动结束,因此字符数组s得到的是'456\\0'。因而正确答案为选项D。
53.D解析:double*p,a;语句表示定义了一个指向双精度型的指针变量p和双精度型变量a,而语句p=&a表示将变量a的地址赋给指针变量p;scanf('%1f',p)表示用键盘输入的数赋给指针变量p所指向的地址单元中。scanf()函数要求在输入double型数据,格式控制符必须用%1f(或%1e)。否则,数据不能正确输入。所以选项D)为正确答案。
54.C解析:putchar(s)的功能是把字符s输出到标准输出设备;puts(s1)是把s1指向的字符串输出到标准输出设备。
55.B解析:由于实参传送的是变量的地址,所以对形参指针所指向的单元内容的改变,即对实参内容的改变。
56.D解析:C语言中,字符串是用一对双引号括起来的字符序列,并用字符型数组来存放,故选项A)、C)不是字符中;选项B)定义的是一个字符变量str,不能用来存放字符串,所以不正确。
57.A解析:本题考查的是函数调用时的参数传递问题。程序在调用函数f时,传给函数f的参数只是结构变量c在栈中的一个拷贝,函数f的所有操作只是针对这个数据拷贝进行的修改,这些都不会影响变量c的值。
58.C解析:a数组存放的是字符串,系统会自动在字符串的最后加上一个'\\0',所以a数组的长度为4,而b数组的长度为3,故a数组长度大于b数组长度。
59.C
60.B解析:编译时,编译系统不为局部变量分配内存单元,而是在程序运行中,当局部变量所在的函数被调用时,编译系统根据需要要临时分配内存,调用结束空间释放;全局变量一经定义,编译系统为其分配固定的内存单元,在程序运行的自始至终都占用固定的单元。在考虑内存不定的情况下,最好使用全局变量。
61.A本题综合考查字符数组的赋值和strcpy函数的用法。C语言不允许用赋值表达式对字符数组赋值,如下面的语句就是非法的:st
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年脚部护理即现在起悟开心天津了
- 台州市商品住宅均价的市场定价机制与影响因素研究
- 可视化驱动下的铁路边坡稳定分析软件:开发与应用实践
- 可溶性纤维:解锁母猪妊娠期饱感与泌乳期采食量的密码
- 小学四年级英语教学设计-Road safety
- 初中八年级地理《北京的城市职能与现代化建设》教学设计
- 初中英语七年级上册Unit7生日词汇教学设计
- 高三地理一轮复习“地理信息技术在防灾减灾中的应用”教学设计
- 初中物理中考力学提优教学设计:2026届甘肃考生考前核心素养冲刺方案
- 初中七年级科学“动物类群与适应”第2课时教学设计
- 2025年设备监理师职业资格考试(设备工程项目管理)历年参考题库含答案详解
- 水利水电工程脚手架搭设专项方案
- 2025年中小学生保健卫生知识竞赛试题(附答案)
- 2026年高级会计师实务考试真题及答案
- 拇外翻诊疗指南
- 2026秋新版历史九年级上册教学课件:第一单元文明的产生和古代亚非文明 单元小结复习
- 2026太仓市城市发展集团有限公司第一批公开招聘6人考试参考题库及答案详解
- 苏教版(劳动与技术) 家用电器的规范使用 劳动教案
- 2026年部编版新教材道德与法治五年级上册全套教学设计(共4个单元有教学计划)
- 苏教版科学二年级上册教学工作计划
- (2026年秋)人教PEP版六年级上册英语教案
评论
0/150
提交评论