- 0
- 0
- 约6.34千字
- 约 13页
- 2026-01-31 发布于山东
- 举报
2026年软件技术C语言基础知识练习题
第一部分单选题(50题)
1、以下数组定义中,正确的是?()
A.inta[5];
B.inta[5]={1,2,3,4,5};
C.inta[]={1,2,3,4,5};
D.以上都是
【答案】:答案解析:A、B、C均符合数组定义规则,故选D。
2、若inti=0,s=0;执行while(i=3){s+=i2;i++;}后s的值是?()
A.12
B.6
C.8
D.10
【答案】:答案解析:累加02+12+22+3*2=0+2+4+6=12,s=12,故选A。
3、以下函数定义中,参数为两个int类型的是?()
A.voidfun(inta,floatb){}
B.voidfun(inta,intb){}
C.voidfun(floata,intb){}
D.voidfun(inta,charb){}
【答案】:答案解析:B中两个参数均为int类型,其余选项参数类型不匹配,故选B。
4、以下指针运算中,结果为指针的是?()
A.*p
B.p+1
C.a
D.B和C
【答案】:答案解析:p+1是指针偏移,a是取地址,结果均为指针;*p是解引用(获取值),故选D。
5、以下循环中,用于计算1到10的乘积的是?()
A.s=0;for(i=1;i=10;i++)s+=i;
B.s=1;for(i=1;i=10;i++)s*=i;
C.s=0;while(i=10){s*=i;i++;}
D.s=1;do{s+=i;i++;}while(i=10);
【答案】:答案解析:乘积初始值为1,累加初始值为0,B的逻辑是12...*10,正确,故选B。
6、若inti=0;执行while(1){if(i==3)break;printf(%d,i);i++;}输出结果是?()
A.012
B.0123
C.无限循环
D.无输出
【答案】:答案解析:while(1)是无限循环,i=3时break,输出012,故选A。
7、以下函数定义错误的是?()
A.intfun(inta,intb){returna+b;}
B.voidfun(){inta=5;printf(%d,a);}
C.intfun(){inta=3;returna;}
D.voidfun(inta){returna;}
【答案】:答案解析:D返回值类型void,不能return表达式a,语法错误,故选D。
8、以下哪个字符串的长度是3?()
A.abc
B.a\0b
C.ab\n
D.ab
【答案】:答案解析:字符串长度以\0结束,abc含a、b、c(3个字符),a\0b长度为1,故选A。
9、预处理命令#definePI3.14159的作用是?()
A.定义变量
B.定义常量
C.函数声明
D.包含头文件
【答案】:答案解析:#define是宏定义,用于定义常量(无分号,直接替换),故选B。
10、以下if语句中,逻辑运算符使用正确的是?()
A.if(x3x7)
B.if(x3x7)
C.if(x3|||x7)
D.if(x3||x7)
【答案】:答案解析:逻辑与用,逻辑或用||,B是按位与,C多写||,D逻辑错误(x3或x7恒为真),故选A。
11、函数定义和函数声明的区别是?()
A.定义包含函数体,声明不包含
B.声明包含函数体,定义不包含
C.定义和声明无区别
D.定义在程序开头,声明在结尾
【答案】:答案解析:函数定义是完整实现(含函数体),声明是告诉编译器函数名、参数、返回类型(不含函数体),故选A。
12、以下哪个函数用于读取字符?()
A.putchar()
B.gets()
C.getchar()
D.printf()
【答案】:答案解析:getchar()读取单个字符,puts()输出字符串,gets()读取字符串(已淘汰),故选C。
13、以下关于函数的说法正确的是?()
A.函数必须有返回值
B.函数可嵌套定义
C.函数可递归调用
D.函数名可重定义
【答案】:答案解析:A函数可无返回值(void),B不能嵌套定义(可嵌套调用),D函数名不能重定义,C递归调用正确,故选C。
14、若inta=5,p=a;则p的值是?()
A.5
B.a
C.p
D.无定义
【答案】:答案解析:*p等价于p,即指针p自身的值(a的地址),故选C。
15、数组在内存中的存储方式是?()
A.随机存储
B.连续存储
C.链式存储
D.散列存储
【答案】:答案解析:数组元素在内存中连续存放,便于通过下标访问,故选B。
16、若inta[4]={1,2,3,4};则*(a+1)的值是?()
A.1
B.2
C
原创力文档

文档评论(0)