选择题:
1若有以下程序
则程序的输出结果是
A.Zhao,m,290,Zhao,f,350
B.Zhao,m,290,Qian,f,350
C.Qian,f,350,Qian,f,350
D.Qian,m,290,Qian,f,350
参考答案:D
参考解析:本题中考查结构体中变量的引用,a结构体中Flame被修改为Qian,所以本题答案为D。
2以下叙述中正确的是
A.如果函数带有参数,就不能调用自己
B.所有函数均不能接受函数名作为实参传入
C.函数体中的语句不能出现对自己的调用
D.函数名代表该函数的入口地址
参考答案:B
参考解析:本题考查函数调用相关知识,B选项中函数可以接受函数名作为实参传人,引用函数名也是指针,C、A选项是错误的,因为递归函数就能调用自己。
3若有以下程序
则程序的输出结果是
A.6B.18C.10D.24
参考答案:D
参考解析:第一次h循环。n的值为0,所以从default后面的语句开始执行,s+=4,s+=1,s+=2,s+=3,s的值为10。在进入第二次for循环,n的值为1,所以执行s+=1,s+=2,s+=3,s的值为16。在进入第三次for循环,n的值为2,所以执行s+=2,s+=3,s的值为21。在进入第四次for循环,n的值为3,所以执行s+=3,s的值为24。
4若有以下程序
则程序的输出结果是
A.1,14,3B.0,14,3C.0,18,3D.0,14,6
参考答案:B
参考解析:本循环的条件判断时只要a为0就退出循环体,初始值a的值为6,满足条件执行完循环体,b的值为6,a-=++C即a=a-(++C),所以a的值为5,c的值为1。第二次循环后b的值为11,a的值为3,c的值为2。第三次也是最后循环后,a的值为0,b的值l4,c的值为3。
5有以下程序
程序运行后的输出结果是
A.108B.68C.99D.60
参考答案:D
参考解析:该题首先给二维数组赋值a[3][4]={{1,3,5,7}{9,11,13,15}{17,19,21,23}};(*P)[4]=a指针P指向二维数组a的首地址,接下来执行for循环,首先i=0,j=0时k=k+*(}(P+O)+0)=1(a[O][0]);然后i_0,j=1时k=k+}(}(P+0)+1)=4(a[0][1]);然后j=2时,跳出j的循环,执行i的循环i=1,j=0时k=k+*(*(P+1)+O)=13(a[1][0]);依次类推一直到i-3时跳出全部循环。循环语句在这里的功能是累加二维数组第1列和第2列的元素,累加结果为60。
6若有以下程序
则程序的输出结果是
A.5,6,0B.6,0,0C.6。6,1D.5,6,1
参考答案:C
参考解析:本题重点考查C语言中for语句和逻辑表达式,for语句的一般形式为:for(表达式1;表达式2;表达式3)语句其循环中的“表达式1(循环变量赋初值)”、“表达式2(循环条件)”和“表达式3(循环变量增量)”都是选择项,即可以缺省,但“;”不能缺省。该题目中省了“表达式1(循环变量赋初值)”和“表达式3(循环变量增量)”。for(;a&&(b==0);){b+=a s a-=e++;}相当于while(a&&(b==0)){b+=a;a-=c++;}。因此c选项正确。
7有以下程序
程序运行后输出结果是
A.0,2B.0,3C.1,3D.1,2
参考答案:D
参考解析:本题重点考查while语句,变量a和b分别赋初值为-2和1,while语句的语义是:计算表达式的值,当值为真(非O)时,执行循环体语句。a++即a参与运算后,a的值再自增1。++b即b自增1后再参与其它运算。当表达式的值为0时,退出循环,最后输出a和b的值为1和2。因此D选项正确。
8以下关于宏的叙述错误的是
A.宏名必须用大写字母构成
B.宏替换具有计算功能
C.宏替换不具有计算功能
D.宏替换不占用运行时间
参考答案:A
参考解析:宏名习惯采用大写字母,以便与一般变量区别,但是并没有规定一定要用大写字母,因此,答案为A选项。
9以下叙述中正确的是
A.两个字符串可以用关系运算符进行大小比较
B.函数调用strlen(s);会返回字符串S实际占用内存的大小(以字节为单位)
C.C语言本身没有提供对字符串进行整体操作的运算符
D.当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空间的和
参考答案:C
参考解析:本题考查字符串处理函数strien、strcat、strcmp。B选项中strlen返回的是字符串s实际占用内存大小加上结尾符,A选项中不能用关系运算符进行大小比较,可以使用strcmp。D选项当使用连接函数strcat时,内存空间会减少一个字符位置。
10有以下程序
程序运行后的输出结果是
A.#N#B.#F#C.MMMD.MO#
参考答案:A
参考解析:for语句中把array数组首地址值赋给ptr,ptr++表示每次执行完循环体后,ptr指向下一数组元素,当指针指向值为0时,输出#,否则´M´再加上指针对应数组值进行输出,当* ptr=1时,´M´+l=´N´,结果输出为#N#,答案为A选项。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |