
sC语言程序设计
学校: 无
问题: 1. 下面程序段的运行结果是。
char 渝粤题库c[]="\t\v\\\0will\n";
printf("%d",strlen(c));
( )。
选项:
• A. 3
• B. 6
• C. 9
• D. 14
答案: 请关注公众号【渝粤搜题】查看答案
问题: 2. 已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是( )。
int a1,a2;char c1,c2;
scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
选项:
• A. 10A□20B<CR>
• B. 10□A□20□B<CR>
• C. 10□A20B<CR>
• D. 10A20□B<CR>
答案: 请关注公众号【渝粤搜题】查看答案
问题: 3. 在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是。( )。
选项:
• A. extern
• B. register
• C. auto
• D. static
答案: 请关注公众号【渝粤搜题】查看答案
问题: 4. 以下能对一维数组a进行正确初始化的语句是。( )。
选项:
• A. int a[10]=(0,0,0);
• B. int a[10]={};
• C. int a[2]={0,1,2};
• D. int a[10]={10*1};
答案: 请关注公众号【渝粤搜题】查看答案
问题: 5. 以下叙述不正确的是( )。
选项:
• A. 一个C源程序可由一个或多个函数组成
• B. 一个C源程序必须包含一个main函数
• C. C程序的基本组成单位是函数
• D. 在C程序中,注释说明只能位于一条语句的后面
答案: 请关注公众号【渝粤搜题】查看答案
问题: 6. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( )。
选项:
• A. 地址传递
• B. 单向值传递
• C. 由实参传给形参,再由形参传回实参
• D. 由用户指定传递方式
答案: 请关注公众号【渝粤搜题】查看答案
问题: 7. sizeof(float)是( )。
选项:
• A. 一个双精度型表达式
• B. 一个整型表达式
• C. 一种函数调用
• D. 一个不合法的表达式
答案: 请关注公众号【渝粤搜题】渝粤搜题查看答案
问题: 8. 在C程序中,注释说明只能位于一条语句的后面( )。
选项:
• A. 必须在最开始
• B. 必须在系统调用的库函数的后面
• C. 可以任意
• D. 必须在最后
答案: 请关注公众号【渝粤搜题】查看答案
问题: 9. 若有说明:int a[3][4];则对a数组元素的非法引用是。( )。
选项:
• A. a[0][2*1]
• B. a[1][3]
• C. a[4-2][0]
• D. a[0][4]
答案: 请关注公众号【渝粤搜题】查看答案
问题: 10. 有下面程序段,上机运行,将。 char a[3],b[]="China";
a=b;
printf("%s",a);
( )。
选项:
• A. 输出China
• B. 输出Chi
• C. 输出Ch
• D. 编译出错
答案: 请关注公众号【渝粤搜题】查看答案
问题: 11. if((?))printf("x=%d,y=%d,z=%d\n",广东开放大学答案x,y,z);
}
}
选项:
• A. i/result==1
• B. i=result
• C. i!=result
• D. i==result
答案: 请关注公众号【渝粤搜题】查看答案
问题: 12. 下面对C语言字符数组的描述中错误的是。( )。
选项:
• A. 字符数组可以存放字符串
• B. 字符数组的字符串可以整体输入、输出
• C. 可以在赋值语句中通过赋值运算符对字符数组整体赋值
• D. 不可以用关系运算符对字符数组中的字符串进行比较
答案: 请关注公众号【渝粤搜题】查看答案
问题: 13. 下面程序段( )。
for(t=1;t<=100;t++)
{scanf("%d",&x); if(x<0)continue; printf("%3d",t);
}
选项:
• A. 当x<0时整个循环结束
• B. x>=0时什么也不输出
• C. printf函数永远也不执行
• D. 最多允许输出100个非负整数
答案: 请关注公众号【渝粤搜题】查看答案
问题: 14. 以下与库函数strcpy(char *s1, char *s2)功能不相等的函数是( )。
选项:
• A. funa(char *s1, char *s2) {while (*s1++=*s2++);}
• B. funb(char *s1, char *s2) {while (*s2) s1++=s2++;}
• C. func(char *s1, char *s2) {while (*s1=*s2) {s1++;s2++;}}
• D. fund(char *s1, char *s2) {while ((*s1++=*s2++)!=’\0’); }
答案: 请关注公众号【渝粤搜题】查看答案
问题: 15. 下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除。请选择填空( )。
#include <stdio.h>
main()
{int i=0,j,k;
do
{i++;k=316-13*i;}while();
j=k/11;
printf("316=13*%d+11*%d",i,j);
}
选项:
• A. k/11
• B. k%11
• C. k/11==0
• D. k%11==0
答案: 请关注公众号【渝粤搜题】查看答案
问题: 16. 下面程序的运行结果是。
main()
{int i,j,a=0;
for(i=0;i<2;i++)
{for(j=0;j<4;j++)
{if(j%2) break;
a++;
}
a++;
}
printf("%d\n",a);
}
选项:
• A. 4
• B. 5
• C. 6
• D. 7
答案: 请关注公众号【渝粤搜题】查看答案
问题: 17. 以下程序的正确运行结果是( )。
#include<stdio.h>
void num()
{extern int x,y;
int a=15,b=10;
x=a-b;
y=a+b;
}
int x,y;
main()
{int a=7,b=5;
x=a+b;
y=a-b;
num();
printf("%d,%d\n",x,y);
}
选项:
• A. 12,2
• B. 12,25
• C. 12,25
• D. 5,2
答案: 请关注公众号【渝粤搜题】查看答案
问题: 18. 设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为( )。
选项:
• A. 1
• B. 2
• C. 3
• D. 4
答案: 请关注公众号【渝粤搜题】查看答案
问题: 19. 下列四组选项中,均不是C语言关键字的选项是( )。
选项:
• A. define IF type
• B. getc char char
• C. include scanf case
• D. while go pow
答案: 请关注公众号【渝粤搜题】查看答案
问题: 20. 若磁盘上已存在某个文本文件,其全路径文件名为c:\c\data.txt,下列语句中不能打开文件的是( )。
选项:
• A. FILE *in;in=fopen("c:\c\data.txt","r");
• B. FILE *in;in=fopen("c:\\c\\data.txt","r");
• C. FILE *in;in=fopen("c:\\c\\data.txt","a+");
• D. FILE*in;in=fopen("c:\\c\\data.txt","r+");
答案: 请关注公众号【渝粤搜题】查看答案
问题: 1. putchar函数可以向终端输出一个( )。
选项:
• A. 整型变量表达式
• B. 实型变量值
• C. 字符串
• D. 字符或字符型变量值
答案: 请关注公众号【渝粤搜题】查看答案
问题: 2. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( )。
选项:
• A. 必须为字母
• B. 必须为下划线
• C. 必须为字母或下划线
• D. 可以是字母、数字和下划线中的任一种字符
答案: 请关注公众号【渝粤搜题】查看答案
问题: 3. 以下正确的函数定义形式是 ( )。
选项:
• A. double fun(int x,int y){z=x+y;return z;}
• B. double fun(int x,y){int z;return z;}
• C. fun(x,y){int x,y;double z; z=x+y; return z;}
• D. double fun(int x,int y){double z;z=x+y;return z;}
答案: 请关注公众号【渝粤搜题】查看答案
问题: 4. 下面程序的功能是将从键盘输入的偶数写成两个素数之和。请选择填空( )。
#include <stdio.h>
#include <math.h>
main()
{int a,b,c,d;
scanf("%d",&a);
for(b=3,b<=a/2;b+=2)
{for(c=2;c<=sqrt(b);c++) if(b%c==0) break;
if(c>sqrt(b)) d=;else continue;
for(c=2;c<=sqrt(d);c++) if(d%c==0) break;
if(c>sqrt(d)) printf("%d=%d+%d\n",a,b,d);
}
}
选项:
• A. a+b
• B. a-b
• C. a*b
• D. a/b
答案: 请关注公众号【渝粤搜题】查看答案
问题: 5. 若有语句组typedef in北京开放大学答案t AR[5];AR a;则以下叙述中正确的是( )。
选项:
• A. a是一个新类型
• B. a是一个整型变量
• C. a是一个整型数组
• D. a是一个指针变量
答案: 请关注公众号【渝粤搜题】查看答案
问题: 6. 如果要以只读方式打开一个文本文件,应使用的打开方式是( )。
选项:
• A. r+
• B. w
• C. r
• D. rb
答案: 请关注公众号【渝粤搜题】查看答案
问题: 7. 下面四个选项中,均是合法的浮点数的选项是( )。
选项:
• A. +1e+1 5e-9.4 03e2
• B. -.60 12e-4 -8e5
• C. 123e 1.2e-.4 +2e-1
• D. -e3 .8e-4 5.e-0
答案: 请关注公众号【渝粤搜题】查看答案
问题: 8. else if(m>a[mid]) 【2】;
else return(mid);
}
return(-1);
}( )。
选项:
• A. high=mid-1
• B. high=mid+1
• C. low=mid-1
• D. low=mid+1
答案: 请关注公众号【渝粤搜题】查看答案
问题: 9. 以下if语句语法正确的是( )。
选项:
• A. if(x>0)printf("%f",x) else printf("%f",-x);
• B. if(x>0){x=x+y;printf("%f",x);} else printf("%f",-x);
• C. if(x>0){x=x+y;printf("%f",x);};else printf("%f",-x);
• D. if(x>0){x=x+y;printf("%f",x)} else printf("%f",-x);
答案: 请关注公众号【渝粤搜题】查看答案
问题: 10. 对for(表达式1; ;表达式3)可理解为( )。
选项:
• A. for (表达式1;0;表达式3)
• B. for (表达式1;1;表达式3)
• C. 在for (表达式1;null;表达式
• D. 缺少一个表达式
答案: 请关注公众号【渝粤搜题】查看答案
问题: 11. 设有程序段 int k=10;
while(k=0) k=k-1;
则下面描述中正确的是( )。
选项:
• A. while循环执行10次
• B. 循环是无限循环
• C. 循环体语句一次也不执行
• D. 循环体语句执行一次
答案: 请关注公众号【渝粤搜题】查看答案
问题: 12. 已有定义语句int *p;以下能动态分配一个整型存储单元,并把该单元的首地址正确赋值给指针变量p的语句是( )。
选项:
• A. *p=(int *)malloc(sizeof(int));
• B. p=(int *)malloc(sizeof(int));
• C. p=* malloc(sizeof(int));
• D. free(p);
答案: 请关注公众号【渝粤搜题】查看答案
问题: 13. 下面程序的运行结果是( )。
#include<stdio.h>
main()
{int i;
for(i=1;i<=5;i++)
switch(i%5)
{case 0:printf("*");break;
case 1:printf("#");break;
default:printf("\n");break;
case 2:printf("&");
}
}
选项:
• A. #&&*
• B. #&
• C. #
• D. #&
答案: 请关注公众号【渝粤搜题】查看答案
问题: 14. 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为( )。
选项:
• A. int
• B. float
• C. double
• D. 不确定
答案: 请关注公众号【渝粤搜题】查看答案
问题: 15. 当#include后面的文件名用""括起时,寻找被包含文件的方式是( )。
选项:
• A. 直接按照系统设定的标准方式搜索目录
• B. 先在源程序所在目录搜索,再按照系统设定的标准方式搜索
• C. 仅仅搜索源程序所在目录
• D.国家开放大学答案 仅仅搜索当前目录
答案: 请关注公众号【渝粤搜题】查看答案
问题: 16. 以下叙述正确的是( )。
选项:
• A. 在C程序中,main函数必须位于程序的最前面
• B. 在C程序的每一行只能写一条语句
• C. C语言本身没有输入输出语句
• D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误
答案: 请关注公众号【渝粤搜题】查看答案
问题: 17. 在C语言中,要求运算数必须是整型(数)的运算符是( )。
选项:
• A. /
• B. ++
• C. !=
• D. %
答案: 请关注公众号【渝粤搜题】查看答案
问题: 18. 一个C程序的执行是从( )。
选项:
• A. 本程序的main函数开始,到main函数结束
• B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
• C. 本程序的main函数开始,到本程序文件的最后一个函数结束
• D. 本程序文件的第一个函数开始,到本程序main函数结束
答案: 请关注公众号【渝粤搜题】查看答案
问题: 19. 当说明一个结构体类型变量时系统分配给它的内存是( )。
选项:
• A. 各成员所需内存容量的总和;
• B. 结构体中第一个成员所需内存数;
• C. 成员中占内存量最大者所需的容量;
• D. 结构中最后—个成员所占内存量。
答案: 请关注公众号【渝粤搜题】查看答案
问题: 20. 若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是( )。
选项:
• A. scanf("%d%lx,%le",&x,&y,&z);
• B. scanf("%2d*%d%lf",&x,&y,&z);
• C. scanf("%x%*d%o",&x,&y;
• D. scanf("%x%o%6.2f",&x,&y,&z);
答案: 请关注公众号【渝粤搜题】查看答案
问题: 1. 判断char型变量ch是否为大写字母的正确表达式为。( )。
选项:
• A. 'A'<=ch<='Z'
• B. (ch>='A')&(ch<='Z')
• C. (ch>='A')&&(ch<='Z')www.yuyue-edu.cn
• D. ('A'<=ch)AND('Z'>=ch)
答案: 请关注公众号【渝粤搜题】查看答案
问题: 2. 已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是。
if(x>y)
z=x;x=y;y=z; ( )。
选项:
• A. 10,20,30
• B. 20,30,30
• C. 20,30,10
• D. 20,30,20
答案: 请关注公众号【渝粤搜题】查看答案
问题: 3. 在C语言中,char型数据在内存中的存储形式是( )。
上海开放大学答案选项:
• A. 补码
• B. 反码
• C. 原码
• D. ASCII码
答案: 请关注公众号【渝粤搜题】查看答案
问题: 4. 为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与配对。( )。
选项:
• A. 缩排位置相同的if
• B. 其之前最近的没有else配对的if
• C. 其之后最近的if
• D. 同一行上的if
答案: 请关注公众号【渝粤搜题】查看答案
问题: 5. 若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是。( )。
选项:
• A. 2
• B. 3
• C. 4
• D. 无法确定
答案: 请关注公众号【渝粤搜题】查看答案
问题: 6. n=(?);
} while(n);
printf("sum=%d",sum);}
选项:
• A. n/1000
• B. b/100
• C. n/10
• D. n%10
答案: 请关注公众号【渝粤搜题】查看答案
问题: 7.云南开放大学答案 C语言规定,函数返回值的类型是由所决定( )。
选项:
• A. return语句中的表达式类型
• B. 调用该函数时的主调函数类型
• C. 调用该函数是系统临时指定
• D. 在定义该函数时所指定的函数类型
答案: 请关注公众号【渝粤搜题】查看答案
问题: 8. 若有说明:static int a[3][4];则数组中各元素。( )。
选项:
• A. 可在程序的运行阶段得到初值0
• B. 可在程序的编译阶段得到初值0
• C. 不能得到确定的初值
• D. 可在程序的编译或运行阶段得到初值0
答案: 请关注公众号【渝粤搜题】查看答案
问题: 9. 如果在一个复合语句中定义了一个变量,则有关该变量正确的说法是。( )。
选项:
• A. 只在该复合语句中有效
• B. 只在该函数中有效
• C. 在本程序范围内均有效
• D. 为非法变量
答案: 请关注公众号【渝粤渝粤教育搜题】查看答案
问题: 10. 能正确表示“当x的取值在[1,10]和[200,210]范围内为真”的C语言表达式为( )。
选项:
• A. (x>=1)&&(x<=10)&&(x>=20江苏开放大学答案0)&&(x<=210)
• B. (x>=1)&&(x<=10)||(x>=200)&&(x<=210)
• C. (x>=1)||(x<=10)||(x>=200)||(x<=210)
• D. (x>=1)||(x<=10)&&(x>=200)||(x<=210)
答案: 请关注公众号【渝粤搜题】查看答案
问题: 11. 下面程序的运行结果是( )。
#include<stdio.h>
main()
{int i;
for(i=1;i<=5;i++)
{if(i%2) printf("*");
else continue;
printf("#");
}
printf("$\n");
}
选项:
• A. *#*#*#$
• B. #*#*#*$
• C. *#*#$
• D. #*#*$
答案: 请关注公众号【渝粤搜题】查看答案
问题: 12. 若x、i、j和k都是int型变量,则计算下面表达式后,x的值为 x=(i=4,j=16,k=32)( ) 。
选项:
• A. 4
• B. 16
• C. 32
• D. 52
答案: 请关注公众号【渝粤搜题】查看答案
问题: 13. 当#include后面的文件名用<>括起时,寻找被包含文件的方式是( )。
选项:
• A. 仅仅搜索当前目录
• B. 仅仅搜索当前目录
• C. 直接按系统设定的标准方式搜索目录
• D. 先在源程序所在目录搜索,再按系统设定的标准方式搜索
答案: 请关注公众号【渝粤搜题】查看答案
问题: 14. 已有程序段和输入数据的形式,程序中输入语句的正确形式应当为( )。
main()
{ int a;float f;
printf("Input number:");
(输入语句)
printf("\nf=%f,a=%d\n",f,a);
}
Input number:4.5□□2<CR>
选项:
• A. scanf("%d,%f",&a,&f);
• B. scanf("%f,%d",&f,&a);
• C. scnaf("%d%f",&a,&f);
• D. scanf("%f%d",&f,&a);
答案: 请关注公众号【渝粤搜题】查看答案
问题: 15. 若已定义a为int型变量,则( )是对指针变量p的正确说明和初始化。
选项:
• A. int *p=a;
• B. int *p=*a;
• C. int p=&a;
• D. int *p=&a;
答案: 请关注公众号【渝粤搜题】查看答案
问题: 16. 下面四个选项中,均是不合法的整型常量的选项是( )。
选项:
• A. --0f1 -0xffff 0011
• B. -0Xcdf 017 12,456
• C. -018 999 5e2
• D. -0x48eg -068 03f
答案: 请关注公众号【渝粤搜题】查看答案
问题: 17. 若有说明:int a[10];则对数组元素的正确引用是。 ( )。
选项:
• A. a[10]
• B. a[3,5]
• C. a(5)
• D. a[10-10]
答案: 请关注公众号【渝粤搜题】查看答案
问题: 18. C语言中(以16位PC机为例),各数据类型的存储空间长度的排列顺序为( )。
选项:
• A. char<int<long<=float<double
• B. char=int<long<=float<double
• C. char<int<long=float=double
• D. char=int=long<=float<double
答案: 请关注公众号【渝粤搜题】查看答案
问题: 19. 下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等数时结束循环,请选择填空。
#include <stdio.h>
main()
{int a,b,t;
scanf("%d%d",&a,&b);
while()
{if (a>b)
{t=a;a=b;b=t;}
printf("%d,%d\n",a,b);
scanf("%d%d",&a,&b);
}
}
( )。
选项:
• A. !a=b
• B. a!=b
• C. a==b
• D. a=b
答案: 请关注公众号【渝粤搜题】查看答案
问题: 20. 在c语言中,引用数组元素时,其数组下标的数据类型是。( )。
选项:
• A. 整型常量
• B. 整型表达式
• C. 整型常量或整型表达式
• D. 任何类型的表达式
答案: 请关注公众号【渝粤搜题】查看答案
微信扫码添加好友
如二维码无法识别,可拨打 13662661040 咨询。