C语言基础与综合创新能力提升
学校: 无
问题 1: 1. 以下不合法的用户标识符是
选项:
• A. j2_KEY
• B. Double
• C. 4d
• D. _8_
答案: 4d
问题 2: 2. 下列说法正确的是
选项:
• A. C语言程序可以有多个main函数
• B. C语言程序只能有一个main函数
• C. C语言程序可以没有main函数
• D. C语言程序有且仅有一个main函数
答案: C语言程序有且仅有一个main函数
问题 3: 3. 有关C语言程序运行说法正确的是
选项:
• A. C语言程序从第一行开始执行
• B. C语言程序从main函数开始执行
• C. C语言程序从第一个函数开始执行
• D. C语言程序随机开始执行
答案: C语言程序从main函数开始执行
问题 4: 4. 关于各类语言说法正确的是
选项:
• A. 机器语言很容易读懂
• B. 机器语言执行效率高
• C. 高级语言不容易读懂
• D. C语言是机器语言的一种
答案: 机器语言执行效率高
问题 5: 5. 关于C语言叙述正确的是
选项:
• A. C语言是一种结构化语言
• B. C语言是一种面向对象的语言
• C. C语言是汇编语言的一种
• D. C语言是一种编程中流程可以随意跳转
答案: C语言是一种结构化语言
问题 6: 6. 以下关玉算法的特征叙述错误的是
选项:
• A. 确定性
• B. 有穷性
• C. 可行性
• D. 0个输出
答案: 0个输出
问题 7: 7. 关玉算法的描述工具说法错误的是
选项:
• A. 文字表示
• B. 流程图
• C. 伪代码
• D. 直方图
答案: 请关注公众号【渝开搜题】查看答案
问题 8: 8. 以下不属于C语言的缺点
选项:
• A. 对语法检查不严格
• B. 数组下表越界不检查
• C. 表达式运算会出现二义性
• D. 变量必须先定义后使用
答案: 请关注公众号【渝开搜题】查看答案
问题 9: 9. 下列不属于C语言的关键字的是
选项:
• A. char
• B. if
• C. for
• D. stdio
答案: 请关注公众号【渝开搜题】查看答案
问题 10: 1. 以下4组用户定义标识符中,全部合法的一组是
选项:
• A. _main enclude sin
• B. If -max turbo
• C. txt REAL 3COM
• D. int k_2 _001 ???
答案: 请关注公众号【渝开搜题】查看答案
问题 11: 2. 以下定义语句中正确的是
选项:
• A. char a='A' b='B';
• B. float a=b=10.0;(正解a=10.0 b=10.0)
• C. int a=10,*b=&a;
• D. float *a,b=&a;???
答案: 请关注公众号【渝开搜题】查看答案
问题 12: 3. 以下不能定义为用户标识符的是
选项:
• A. scanf
• B. Void
• C. _3com_
• D. int
答案: 请关注公众号【渝开搜题】查看答案
问题 13: 4. C语言中最简单的数据类型包括
选项:
• A. 整型、实型、逻辑型
• B. 整型、实型、字符型
• C. 整型、字符型、逻辑型
• D. 整型、实型、逻辑型、字符型
答案: 请关注公众号【渝开搜题】查看答案
问题 14: 5. 以下不能定义为用户标识符的是
选项:
• A. Main
• B. _0
• C. _int
• D. sizeof
答案: 请关注公众号【渝开搜题】查看答案
问题 15: 6. 下列叙述中正确的是
选项:
• A. C语言中既有逻辑类型也有集合类型
• B. C语言中没有逻辑类型但有集合类型
• C. C语言中有逻辑类型但没有集合类型
• D. C语言中既没有逻辑类型也没有集合类型
答案: 请关注公众号【渝开搜题】查看答案
问题 16: 7. 下列选项中,合法的C语言关键字是
选项:
• A. VAR
• B. cher
• C. integer
• D. default
答案: 请关注公众号【渝开搜题】查看答案
问题 17: 8. 以下有4组用户标识符,其中合法的一组是
选项:
• A. For -sub Case
• B. 4d DO Size
• C. f2_G3 IF abc
• D. WORD Void define
答案: 请关注公众号【渝开搜题】查看答案
问题 18: 9. 以下程序的输出结果是
#include
main()
{
int a,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);???
}
选项:
• A. 6,1
• B. 2,1
• C. 6,0
• D. 2,0
答案: 请关注公众号【渝开搜题】查看答案
问题 19: 1. 有以下定义语句
double a,b; int w; long c;
若各变量已正确赋值,则下列选项中正确的表达式是
选项:
• A. a=a+b=b++ B、w%((int)a+b) C、(c+w)%(int)a D、w=a=b;
• B. w%((int)a+b)
• C. (c+w)%(int)a
• D. w=a=b
答案: 请关注公众号【渝开搜题】查看答案
问题 20: 2. 有如下程序
main()
{
int a; char c=10;
float f=100.0; double x;
a=f/=c*=(x=6.5);
printf("%d %d %3.1f%3.1f\n",a,c,f,x);
}
程序运行后输出结果是
选项:
• A. 65 1 6.5
• B. 1 65 1.5 6.5
• C. 1 65 1.0 6.5
• D. 2 65 1.5 6.5
答案: 请关注公众号【渝开搜题】查看答案
问题 21: 3. 若变量a、i已正确定义,且i已正确赋值,合法的语句是
选项:
• A.
• B. ++i;
• C. a=a++=5;
• D. a=int(i);
答案: 请关注公众号【渝开搜题】查看答案
问题 22: 4. 若变量已正确定义并赋值,下面符合C语言语法的表达式是__B____。
A、a:=b+1 B、a=b=c+2 C、int 18.5%3 D、a=a+7=c+b
选项:
• A. a:=b+1
• B. a=b=c+2
• C. int 18.5%3
• D. a=a+7=c+b
答案: 请关注公众号【渝开搜题】查看答案
问题 23: 5. 设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是
选项:
• A. x=x*100+0.5/100.0
• B. x=(x*100+0.5)/100.0
• C. x=(int)(x*100+0.5)/100.0
• D. x=(x/100+0.5)*100.0
答案: 请关注公众号【渝开搜题】查看答案
问题 24: 6. 在一个C程序中
选项:
• A.
• B. main函数可以在任何地方出现
• C. main函数必须出现在所有函数之后
• D. main函数必须出现在固定位置
答案: 请关注公众号【渝开搜题】查看答案
问题 25: 7. 以下4个选项中,不能看作一条语句的是
选项:
• A. {;}
• B. a=0,b=0,c=0;
• C. if(a>0);
• D. if(b==0) m=1;n=2;
答案: 请关注公众号【渝开搜题】查看答案
问题 26: 8. 有以下程序
main()
{
int a=0,b=0;
a=10; /* 给a赋值 */
b=20; /* 给b赋值 */
printf("a+b=%d\n",a+b);
}
程序运行后的输出结果是
选项:
• A. a+b=10
• B. a+b=30
• C. 30
• D. 出错
答案: 请关注公众号【渝开搜题】查看答案
问题 27: 1. 有以下程序
main ()
{
char a1='M', a2='m';
printf("%c\n", (a1,a2));
}
以下叙述中正确的是
选项:
• A. 程序输出大写字母M
• B. 程序输出小写字母m
• C. 格式说明符不足,编译出错
• D. 程序运行时产生出错信息
答案: 请关注公众号【渝开搜题】查看答案
问题 28: 2. 以下程序的输出结果是
main()
{
int a;
printf("%d\n",(a=3*5,a*4,a+5));
}
选项:
• A. 65
• B. 20
• C. 15
• D. 10
答案: 请关注公众号【渝开搜题】查看答案
问题 29: 3. 有以下程序
main()
{
int x,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d\n",x,y,z);
}
程序运行后的输出结果是
选项:
• A. 2,3,3
• B. 2,3,2
• C. 2,3,1
• D. 2,2,1
答案: 请关注公众号【渝开搜题】查看答案
问题 30: 4. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是
main( )
{
int x;
scanf("%d",&x);
if(x++ > 5)
printf("%d",x);
else
printf("%d\n",x--);
}
选项:
• A. 7和5
• B. 6和3
• C. 7和4
• D. 6和4
答案: 请关注公众号【渝开搜题】查看答案
问题 31: 5. 若t为double类型,表达式t=1,t+5,t++的值是
选项:
• A. 1
• B. 6.0
• C. 2.0
• D. 1.0
答案: 请关注公众号【渝开搜题】查看答案
问题 32: 6. 以下程序的输出结果是
#include
main()
{
int i=10,j=10;
printf("%d,%d\n",++i,j--);
}
选项:
• A. 11,10
• B. 9,10
• C. 010,9
• D. 10,9
答案: 请关注公众号【渝开搜题】查看答案
问题 33: 7. 在嵌套使用if语句时,C语言规定else总是
选项:
• A. 和之前与其具有相同缩进位置的if配对
• B. 和之前与其最近的if配对
• C. 和之前与其最近的且不带else的if配对
• D. 和之前的第一个if配对
答案: 请关注公众号【渝开搜题】查看答案
问题 34: 8. 假定所有变量均已正确说明,下列程序段运行后x的值是
a=b=c=0;x=35;
if(!a) x--;
else if(b) ;
if(c) x=3;
else x=4;
选项:
• A. 34
• B. 4
• C. 35
• D. 3
答案: 请关注公众号【渝开搜题】查看答案
问题 35: 9. 有如下程序
main()
{
int a=2,b=-1,c=2;
if(a
if(b<0) c=0;
else c++;
printf("%d\n",c);
}
该程序的输出结果是
选项:
• A. 0
• B. 1
• C. 2
• D. 3
答案: 请关注公众号【渝开搜题】查看答案
问题 36: 1. 有以下程序
main()
{
int y=10;
while(y--);
printf("y=%d\n",y);
}
程序执行后的输出结果是
选项:
• A. y=0
• B. y=-1
• C. y=1
• D. while构成无限循环
答案: 请关注公众号【渝开搜题】查看答案
问题 37: 2. 以下程序执行后sum的值是
main()
{
int i,sum;
for(i=1;i<6;i++) sum+=i;
printf("%d\n",sum);
}
选项:
• A. 15
• B. 14
• C. 不确定
• D. 0
答案: 请关注公众号【渝开搜题】查看答案
问题 38: 3. 有以下程序
main()
{ int k=5,n=0;
while(k>0)
{ switch(k)
{ default : break;
case 1: n+=k;
case 2:
case 3: n+=k;
}
k- -;
}
printf("%d\n",n);
}
程序运行后的输出结果是
选项:
• A. 0
• B. 4
• C. 6
• D. 7
答案: 请关注公众号【渝开搜题】查看答案
问题 39: 4. 有以下程序
main()
{
int i;
for(i=0;i<3;i++)
switch(i)
{
case 1: printf("%d",i);
case 2: printf("%d",i);
default: printf("%d",i);
}
}
执行后输出结果是
选项:
• A. 011122
• B. 012
• C. 012020
• D. 120
答案: 请关注公众号【渝开搜题】查看答案
问题 40: 5. 以下程序的输出结果是
main()
{ int a=0,i;
for(i=1;i<5;i++)
{
switch(i)
{
case 0:
case 3: a+=2;
case 1:
case 2: a+=3;
default: a+=5;
}
}
printf("%d\n",a);
}
选项:
• A. 31
• B. 13
• C. 10
• D. 20
答案: 请关注公众号【渝开搜题】查看答案
问题 41: 6. 下列叙述中正确的是
选项:
• A. break语句只能用于switch语句
• B. 在switch语句中必须使用default
• C. break语句必须与switch语句中的case配对使用
• D. 在switch语句中,不一定使用break语句
答案: 请关注公众号【渝开搜题】查看答案
问题 42: 7. 有以下程序
main()
{
int k=4,n=0;
for(;n
{
n++;
if(n%3!=0) continue;
k--;
}
printf("%d,%d\n",k,n);
}
程序运行后的输出结果是
选项:
• A. 1,1
• B. 2,2
• C. 3,3
• D. 4,4
答案: 请关注公众号【渝开搜题】查看答案
问题 43: 8. 有如下程序
main()
{
int x=23;
do
{
printf("%d",x--);
}
while(!x);
}
该程序的执行结果是______。
选项:
• A. 321
• B. 23
• C. 不输出任何内容
• D. 陷入死循环
答案: 请关注公众号【渝开搜题】查看答案
问题 44: 9. 有以下程序
main()
{ int s=0,a=1,n;
scanf("%d",&n);
do
{
s+=1;
a=a-2;
}
while(a!=n);
printf("%d\n",s);
}
若要使程序的输出值为2,则应该从健盘给n输入的值是______。
选项:
• A. -1
• B. -3
• C. -5
• D. 0
答案: 请关注公众号【渝开搜题】查看答案
问题 45: 1. 有以下程序
main()
{ char s[]="abcde";
s+=2;
printf("%d\n",s[0]);
}
执行后的结果是______。
选项:
• A. 输出字符a的ASCII码
• B. 输出字符c的ASCII码
• C. 输出字符c
• D. 程序出错
答案: 请关注公众号【渝开搜题】查看答案
问题 46: 2. 若要求定义具有10个int形元素的一维数组a,则以下的定义语句中错误的是______。
选项:
• A. #define N 10 int a[N];
• B. #define n 5 int a[2*n];
• C. int a[5+5];
• D. int n=10,a[n];
答案: 请关注公众号【渝开搜题】查看答案
问题 47: 3. 合法的数组定义是______。
选项:
• A. int a[]="string";
• B. int a[5]={0,1,2,3,4,5};
• C. char s="string";
• D. char a[]={0,1,2,3,4,5};
答案: 请关注公众号【渝开搜题】查看答案
问题 48: 4. 以下能正确定义一维数组的选项是______。
选项:
• A. int a[5]={0,1,2,3,4,5};
• B. char a[]={0,1,2,3,4,5};
• C. char a={'A','B','C'};
• D. int a[5]="0123";
答案: 请关注公众号【渝开搜题】查看答案
问题 49: 5. 以下程序的输出结果是______。
main()
{ int i,a[10];
for(i=9;i>=0;i--) a[i]=10-i;
printf("%d%d%d",a[2],a[5],a[8]);
}
选项:
• A. 258
• B. 741
• C. 852
• D. 369
答案: 请关注公众号【渝开搜题】查看答案
问题 50: 6. 执行下面的程序段后,变量k中的值为______。
int k=3,s[2];
s[0]=k; k=s[1]*10;
选项:
• A. 不定值
• B. 32
• C. 30
• D. 10
答案: 请关注公众号【渝开搜题】查看答案
问题 51: 7. 以下能正确定义数组并正确赋初值的语句是______。
选项:
• A. int N=5,b[N][N];
• B. int a[1][2]={{1},{3}};
• C. int c[2][]={{1,2},{3,4}};
• D. int d[3][2]={{1,2},{34}};
答案: 请关注公众号【渝开搜题】查看答案
问题 52: 8. 以下程序的输出结果是______。
main()
{
int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);
}
选项:
• A. 0650
• B. 1470
• C. 5430
• D. 输出值不定
答案: 请关注公众号【渝开搜题】查看答案
问题 53: 9. 定义如下变量和数组:
int i;
int x[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是______。
for(i=0;i<3;i++) printf("%d ",x[i][2-i]);
选项:
• A. 1 5 9
• B. 1 47
• C. 3 5 7
• D. 3 6 9
答案: 请关注公众号【渝开搜题】查看答案
问题 54: 1. 有如下程序
int func(int a,int b)
{ return(a+b); }
main()
{
int x=2,y=5,z=8,r;
r=func(func(x,y),z);
printf("%d\n",r);
}
该程序的输出结果是______。
选项:
• A. 12
• B. 13
• C. 14
• D. 15
答案: 请关注公众号【渝开搜题】查看答案
问题 55: 2. 有以下程序
int fun1(double a) { return a*=a; }
int fun2(double x,double y)
{
double a=0,b=0;
a=fun1(x);
b=fun1(y);
return (int)(a+b);
}
main()
{
double w;
w=fun2(1.1,2.0);
}
程序执行后变量w中的值是______。
选项:
• A. 5.21
• B. 5
• C. 5.0
• D. 0.0
答案: 请关注公众号【渝开搜题】查看答案
问题 56: 3. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______。
选项:
• A. 地址传递
• B. 单向值传递
• C. 由实参传给形参
• D. 再由形参传回实参
答案: 请关注公众号【渝开搜题】查看答案
问题 57: 4. 当执行下面的程序时,如果输入ABC,则输出结果是_____。
#include "stdio.h"
#include "string.h"
main()
{
char ss[10]="12345";
gets(ss);
strcat(ss,"6789");
printf("%s\n",ss);
}
选项:
• A. ABC6789
• B. ABC67
• C. 12345ABC6
• D. ABC456789
答案: 请关注公众号【渝开搜题】查看答案
问题 58: 5. 有如下程序
long fib(int n)
{
if(n>2) return(fib(n-1)+fib(n-2));
else return(2);
}
main()
{ printf("%ld\n",fib(3)); }
该程序的输出结果是_____。
选项:
• A. 2
• B. 4
• C. 6
• D. 8
答案: 请关注公众号【渝开搜题】查看答案
问题 59: 6. 设函数fun的定义形式为
void fun(char ch,float x) {……}
则以下对函数fun的调用语句中,正确的是_____。
选项:
• A. fun("abc",3.0);
• B. t=fun('D',16.5);
• C. fun ('65',2.8);
• D. fun(32,32);
答案: 请关注公众号【渝开搜题】查看答案
问题 60: 1. 设有说明 int (*ptr)();其中标识符ptr是( )。
选项:
• A. 是一个指向整形变量的指针
• B. 是一个指针,它指向一个函数值是int的函数
• C. 是一个函数名
• D. 定义不合法
答案: 请关注公众号【渝开搜题】查看答案
问题 61: 2. 两个指针变量不可以( )。
A. 相加 B 比较 C 相减 D 指向同一地址
选项:
• A. 相加
• B. 比较
• C. 相减
• D. 指向同一地址
答案: 请关注公众号【渝开搜题】查看答案
问题 62: 3. 能把函数处理结果的两个数据返回给主调函数,在下面的方法中不正确的是 。
选项:
• A. return 这两个数
• B. 形参用两个元素的数组
• C. C. 形参用两个这种数据类型的指针
• D. 用两个全局变量
答案: 请关注公众号【渝开搜题】查看答案
问题 63: 4. char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 64: 5. 若有定义:char *p(char a[10]);则p是函数名。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 65: 6. 若函数的形式参数是指针类型,则实参可以是指针或数组名。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 66: 7. 函数的参数为 char *类型时,形参与实参结合的传递方式为址传递。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 67: 8. 若有定义:int x,*pb;则正确的表达式是pb=&x
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 68: 1. 在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 69: 2. 结构体类型只有一种。 ( )
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 70: 3. 定义结构体类型时,应使用关键字struct
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 71: 4. struct st1{int num,age;}s; 语句定义了结构体变量s
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 72: 5. 有如下定义:struct wc{ int a;int *b;}*p;
int x0[]={11,12},x1[]={31,32};
static struct wc x[2]={100,x0,300,x1};
p=x;
则p->a = 100;
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 73: 6. 设有如下定义:
struct sk
{int a;float b;}data,*p;
若有p=&data;,则对data中的a域的正确引用是()。
选项:
• A. (*p).data.a
• B. (*p).a
• C. p->data.a
• D. p.data.a
答案: 请关注公众号【渝开搜题】查看答案
问题 74: 7. 设有以下语句
typedef struct S
{ int g; char h;} T;
则下面叙述中正确的是()。
选项:
• A. 可用S定义结构体变量
• B. 可以用T定义结构体变量
• C. S是struct类型的变量
• D. T是struct S类型的变量
•
答案: 请关注公众号【渝开搜题】查看答案
问题 75: 8. 有以下说明和定义语句
struct student
{ int age; char num[8];};
struct student stu[3]={{20,"200401"},{21,"200402"},{10\9,"200403"}};
struct student *p=stu;
以下选项中引用结构体变量成员的表达式错误的是()。
选项:
• A. (p++)->num
• B. p->num
• C. (*p).num
• D. stu[3].age
答案: 请关注公众号【渝开搜题】查看答案
问题 76: 1. C语言源程序是文本文件,目标文件和可执行文件是二进制文件
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 77: 2. 一般不能用任何一个文本编辑器打开二进制文件进行阅读。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 78: 3. 文件指针和位置指针都是随着文件的读写操作在不断改变。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 79: 4. 缓冲区文件系统的文件缓冲区位于内存数据区。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 80: 5. 文件可以顺序存取,但不能随机存取
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 81: 6. C语言中的文件是流式文件,因此只能顺序存取数据。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 82: 7. 打开一个已经存在的文件进行了写操作后,原有文件中的全部数据必定被覆盖。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 83: 8. 在一个程序中当对文件进行了写操作后,必须先关闭该文件后再打开,才能读到第一个数据。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 84: 9. 当对文件的读写操作完成只有,必须关闭,否则可能导致数据丢失。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 85: 10. 对文件操作时需要先关闭文件。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 86: 1. 如果要打开E盘上user子目录下名为test.txt的文本文件进行读、写操作,下面符合要求的函数调用是( )。
选项:
• A. fopen("E:\user\test.txt","r");
• B. fopen("E:\\user\\test.txt", "r+");
• C. fopen("E:\user\test.txt","rb");
• D. fopen("E:\\user\\test.txt", "w");
答案: 请关注公众号【渝开搜题】查看答案
问题 87: 2. 下面程序执行后,文件test.txt中的内容是( )。
#include
void fun(char *filename,char *str)
{
FILE *fp;
int i;
fp=fopen(filename,"w");
for(i=0;i
选项:
• A. new world
• B. hello,world
• C. hello
• D. new worldhello
答案: 请关注公众号【渝开搜题】查看答案
问题 88: 3. 在C程序中,可以将整型数以二进制形式存放到文件中的函数是( )。
选项:
• A. fwrite()
• B. fprintf()
• C. fread()
• D. fputc()
答案: 请关注公众号【渝开搜题】查看答案
问题 89: 4. C语言可以处理的文件类型是( )。
选项:
• A. 数据文件和二进制文件
• B. 文本文件、二进制文件和数据文件
• C. 文本文件和数据文件
• D. 文本文件和二进制文件
答案: 请关注公众号【渝开搜题】查看答案
问题 90: 5. 当顺利执行了文件关闭操作时,fclose函数的返回值是( )。
选项:
• A. TRUE
• B. -1
• C. 0
• D. 1
答案: 请关注公众号【渝开搜题】查看答案
问题 91: 6. 若用fopen()函数打开一个新的二进制文件,该文件可以读也可以写,则文件的打开方式是( )。
选项:
• A. "ab+"
• B. "wb+"
• C. "rb+"
• D. "ab"
答案: 请关注公众号【渝开搜题】查看答案
问题 92: 7. 使用fseek()函数可以实现的操作是( )。
选项:
• A. 改变文件位置指针的当前位置
• B. 文件的顺序读写
• C. 文件的随机读写
• D. 以上都不是
答案: 请关注公众号【渝开搜题】查看答案
问题 93: 8. 当已存在一个test.txt文件时,执行函数fopen("test.txt","r+")的功能是( )。
选项:
• A. 打开test.txt文件,只能读取原有内容,但不能写数据
• B. 打开test.txt文件,只能写入数据,但不能读取数据
• C. 打开test.txt文件,覆盖原有的内容
• D. 打开test.txt文件,可以读取和写入新的内容
答案: 请关注公众号【渝开搜题】查看答案
问题 94: 9. 已知函数的调用形式:fread(buffer,size,count,fp);其中的buffer代表的是( )。
选项:
• A. 一个存储区,存放要读入的数据项。
• B. 一个指针,指向要存放读入数据的地址
• C. 一个整型变量,代表要读入的数据项总和。
• D. 一个文件指针,指向要读入的文件
答案: 请关注公众号【渝开搜题】查看答案
问题 95: 10. 使用fgetc()函数,则文件的打开方式必须是( )。
选项:
• A. 读或读写
• B. 只写
• C. 追加
• D. 追加或读
答案: 请关注公众号【渝开搜题】查看答案
问题 96: 11. C语言中系统的标准输入文件是指键盘。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 97: 12. 文件的操作必须先打开文件。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 98: 13. 要创建一个新文本文件,并在向该文件写入数据之后再读出数据,则在fopen()函数中应该使用"w"方式。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 99: 14. 文件位置指针与文件指针是同一含义。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 100: 15. 以读写方式打开一个已存在的文本文件test.dat,可以使用
FILE *fp;
fp=fopen("test.dat","r+");
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 101: 1. 以下程序的运行结果是( )。
#define S(x) 4*x*x+1
void main()
{
int i=6,j=8;
printf("%d",S(i+j));
}
选项:
• A. 81
• B. 785
• C. 73
• D. 没有正确答案
答案: 请关注公众号【渝开搜题】查看答案
问题 102: 2. 以下程序的输出结果是( )。
#include
void main()
{
unsigned int a,b;
a=4|3;
b=4&3;
printf("%d,%d",a,b);
}
选项:
• A. 1,1
• B. 43,0
• C. 0,7
• D. 7,0
答案: 请关注公众号【渝开搜题】查看答案
问题 103: 3. 下列叙述不正确的是( )。
选项:
• A. 使用#include <文件名>的形式比使用#include "文件名"形式节省编译时间。
• B. #include <…>格式中的文件名之前可以包括路径。
• C. #include "C:\\user\\file.h"是正确的包含命令,它表示文件file.h存放在C盘的user目录下。
• D. #include命令可以包含一个含有函数定义的C语言源程序文件。
答案: 请关注公众号【渝开搜题】查看答案
问题 104: 4. 表达式0x13|0x17的值是( )。
选项:
• A. 0xC8
• B. 0xE8
• C. 0x13
• D. 0x17
答案: 请关注公众号【渝开搜题】查看答案
问题 105: 5. 以下关于预处理命令的描述正确的是( )。
选项:
• A. 预处理指令也是C语句。
• B. 一个包含文件中不可以再包含其他的文件。
• C. 在C源程序中,凡是行首以#标识的控制行都是预处理命令
• D. 预处理是指完成宏替换和文件包含中指定的文件的调用。
答案: 请关注公众号【渝开搜题】查看答案
问题 106: 6. 在宏定义#define PI 3.1415926中,用宏名PI代替一个( )。
选项:
• A. 字符串
• B. 单精度数
• C. 双精度数常量
• D. 常量
答案: 请关注公众号【渝开搜题】查看答案
问题 107: 7. 以下程序的输出结果为( )。
#include
#define POWER(x,y) pow(x,y)
#define TWO 2
#define ADD(y) y++
void main()
{
int a=3;
printf("%f\n",POWER(ADD(a),TWO-1));
}
选项:
• A. 4.000000
• B. 3.000000
• C. 9.000000
• D. 6.000000
答案: 请关注公众号【渝开搜题】查看答案
问题 108: 8. 表达式19&23的值是( )。
选项:
• A. 0xf8
• B. 0x13
• C. 0x17
• D. 0xec
答案: 请关注公众号【渝开搜题】查看答案
问题 109: 9. 设有以下宏定义:
#define N 4
#define Y(n) ((N+1)+1)
则执行语句:z=2*(N+Y(5+1)); 后,z的值为( )。
选项:
• A. 54
• B. 出错
• C. 60
• D. 48
答案: 请关注公众号【渝开搜题】查看答案
问题 110: 10. C语言中,宏定义有效范围从定义处开始,到源文件结束处结束,但可以用( )来提前解除宏定义的作用。
选项:
• A. undef
• B. #ifdef
• C. endif
• D. #indefine
答案: 请关注公众号【渝开搜题】查看答案
问题 111: 11. “#define”和“printf”都不是C语句。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 112: 12. 以下程序中for循环的执行次数是6次。
#define M 2
#define N M+1
#define NUM (N+1)*N/2
void main()
{
int i;
for(i=1;i<=NUM;i++)
printf("%d\n",i);
}
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 113: 13. 宏替换不占用运行时间。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 114: 14. 在“文件包含”预处理语句的使用形式中,当#include后面的文件名用<>(尖括号)括起来时,寻找被包含文件的方式是直接按系统设定的标准方式搜索目录。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 115: 15. 以下程序的输出结果是15。
#define T(x,y) (x)<(y)?(x):(y)
void main()
{
int i=10,j=15,k;
k=10*T(i,j);
printf("%d",k);
}
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 116: 1. 若定义以下变量和数组:
int i;
int a[3][3]={1,2,3,4,5,6,7,8,9};
则下列语句的输出结果是( )。
for(i=0;i<3;i++)
printf("%d ",a[i][2-i]);
选项:
• A. 3 5 7
• B. 1 5 9
• C. 3 6 9
• D. 1 4 7
答案: 请关注公众号【渝开搜题】查看答案
问题 117: 2. 以下程序执行后的输出结果是( )。
#include
void main()
{
int i,j,s=0;
int a[4][4]={1,2,3,4,0,2,4,6,3,6,9,12,3,2,1,0};
for(j=0;j<4;j++)
{
i=j;
if(i>2) i=3-j;
s+=a[i][j];
}
printf("%d\n",s);
}
选项:
• A. 18
• B. 16
• C. 12
• D. 11
答案: 请关注公众号【渝开搜题】查看答案
问题 118: 3. 设有定义语句int a[2][4];则以下叙述不正确的是( )。
选项:
• A. 元素a[0]是由4个整型元素组成的一维数组
• B. a[0]代表一个地址常量
• C. a数组可以看成是由a[0]、a[1]两个元素组成的一维数组
• D. 可以用a[0]=5;的形式给数组元素赋值
答案: 请关注公众号【渝开搜题】查看答案
问题 119: 4. 下列描述正确的是( )。
选项:
• A. 两个字符串所包含的字符个数相同时,才能比较字符串
• B. 字符个数多的字符串比字符个数少的字符串大
• C. 字符串"That"小于字符串"The"
• D. 字符串 "STOP " 与 "STOP" 相等
答案: 请关注公众号【渝开搜题】查看答案
问题 120: 5. 以下能对二维数组a进行正确初始化的是( )。
选项:
• A. int a[][3]={{1,2,3},{4,5,6}};
• B. int a[2][4]={1,2,3},{{4,5},{6}};
• C. int a[2][]={{1,0,1},{5,2,3}};
• D. int a[][3]={{1,0,1},{},{1,1}};
答案: 请关注公众号【渝开搜题】查看答案
问题 121: 6. 以下合法的数组定义是( )。
选项:
• A. int a[]="Language";
• B. char a[]="C Program Language.";
• C. char a="C Program";
• D. int a[5]={0,1,2,3,4,5};
答案: 请关注公众号【渝开搜题】查看答案
问题 122: 7. 在C语言中引用数组元素时,其数组下标的数据类型允许是( )。
选项:
• A. 整型常量
• B. 整型常量或整型表达式
• C. 整型表达式
• D. 任何类型的表达式
答案: 请关注公众号【渝开搜题】查看答案
问题 123: 8. 以下程序的输出结果是( )。
#include
#include
void main()
{
char str[10]="Ch\nina";
printf("%d",strlen(str));
}
选项:
• A. 6
• B. 5
• C. 7
• D. 10
答案: 请关注公众号【渝开搜题】查看答案
问题 124: 9. 已知int a[3][2]={3,2,1};则表达式“a[0][0]/a[0][1]/a[1][0]”的值是( )。
选项:
• A. 0.16667
• B. 错误的表达式
• C. 1
• D. 0
答案: 请关注公众号【渝开搜题】查看答案
问题 125: 10. 调用strlen("abcd\0ed\0g")的返回值为4。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 126: 11. 当接受用户输入的含空格的字符串时,应使用getc函数。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 127: 12. 数组名实际是该数组首元素的起始地址。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 128: 13. 一个字符数组就是一个字符串。
选项:
答案: 请关注公众号【渝开搜题】查看答案
问题 129: 14. 指向数组元素的指针只能指向数组的首元素。
选项:
答案: 请关注公众号【渝开搜题】查看答案
微信扫码添加好友
如二维码无法识别,可拨打 13662661040 咨询。