选择题

//1.设变量已正确定义并赋值,以下正确的表达式是_____。

A.x=y*5=x+z

B.int(15.8%5)

C.x=25%5.0

D.x=y+z+5,++y   D

//2.下列程序段中,非死循环的是( )。

A.int i=100;

while(1)

{ i=i%100+1;

if(i>=100)

break;

}

B.int k=0;

do{

++k;               (++k是先加一再使用此时的值,k++是先使用当前值再加一)

}while(k>=0);

C.int s=10;

while(s)

s++;                  (没有判断语句)

  1. for(   ;   ;    )  (可以省略语句1,可以省略语句2,也可以省略语句3,但不能语句1,2,3一起省略,否则将会陷入死循环)                                 A

//5. 已知字符'A'的ASCII码是65,分别对应八进制数101和十六进制数41,以下( )不能正确表示字符'A'。

A.'A'

B.'\101'

C.'\x41'

D.'\0x41' D( \ 后边不能跟十进制 )

6.若表达式sizeof(int)的值为2,则int类型数据可以表示的最大整数为()

A.

216-1

B.

215-1

C.

232-1

D.

231-1 B()

7.若有定义:int a=3,b=2;,则下面表达式中,值为真的选项是( )

A.!b||!a

B.!(a/b)

C.!(b/a)

D.!a&&!b C()

8.在C语言中,要求参加运算的数必须是整数的运算符是( )。

A./

B.*

C.%

D.= C

9.以下选项中,不合法的C语言常量是( )。

A..123

B.345L

C.2.5e-3

D.'no'                    D

10.
if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是( )。

A.必须是逻辑值

B.必须是整数值

C可以是任意合法的数值

D.必须是正数 C

11.以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是_______。

A.if((a>b)&&(b>c)) k=l; else k=0;

B.if((a>b)‖(b>c)) k=l; else k=0;

C.if(a<=b) k=0; else if(b<=c) k=1;

D.if(a>b) k=1; else if(b>c) k=l; else k=0; A(条件运算符(?:)是C语言中唯一的一个三目运算符,它是对第一个表达式作真/假检测,然后根据结果返回另外两个表达式中的一个。)

12.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )

A.A%2= =1

B.!(A%2= =0)

C.!(A%2)

D.A%2 C()

13.switch 语句的case 后面______。

A.只能是常量

B.只能是常量表达式

C.可以是常量或变量

D.可以是任意表达式 B

14.C语言中while和do-while循环的主要区别是()。

A.do-while的循环体至少无条件执行一次

B.while的循环控制条件比do-while的循环控制条件严格

C.do-while允许从外部转到循环体内

D.do-while的循环体不能是复合语句 A(while先判断后执行,do-while先执行后判断)

15.以下程序中,while循环的循环次数是______。

void  main( )

{ int i=0;

while(i<10)

{if(i<1)continue;

if(i==5)break;

i++;

}

……

}                            死循环,不能确定次数(continue语句可以跳过循环体中continue后面的语句,继续下一次循环)

16下列叙述中正确的是()。

A.break 语句只能用于 switch 语句体中                     (break语句用于循环语句中)

B.continue语句的作用是使程序的执行流程跳出包含它的所有循环    (continue语句可以跳过循环体中continue后面的语句,继续下一次循环)

C.break 语句只能用在循环体内和 switch 语句体内

D.在循环体内使用 break语句和 continue 语句的作用相同 C

17.以下描述正确的是

A.while,do_while,for循环中的循环体语句都至少被执行一次   (while最少不执行)

B.do_while语句中while(表达式)后面的分号可以省略

C.while循环体中,一定要有能使while后面表达式变为假的操作

D.do_while循环中,根据情况可以省略while C

18.以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算每位学生的平均分并输出,但运行后结果不正确,调试中发现有一条语句出现的位置不正确。这条语句是 @A

int main(void)

{ int n,k;

float score, sum, ave;

sum=0.0;

for(n=1; n<=10; n++)

{   for(k=1; k<=4; k++)

{   scanf("%f",&score);

sum+=score;

}

ave=sum/4.0;

printf("NO%d:%f\n",n,ave);

}

return 0;

}

A.sum=0.0;

B.sum+=score;

C.ave=sun/4.0;

D.printf("NO%d:%f\n",n,ave); A

19.(27.37.)struct teacher{

   int num;

   char sex;

   int age;

}m;

A.m是结构体类型名

B.num,sex,age都是变量teacher1的成员

C.teacher 是用户定义的结构体类型

D.struct是定义结构体类型的关键字 A

20.结构体类型声明如下,设每个int类型数据占4个字节,则s占用的内存字节数是( )。

struct Stu{

    int  score[50];

    float  average;

}s;

A.104

B.204

C.208

D.108 B

21.结构体类型声明如下,sizeof(a)的结果为( )。

struct A{

     double x;       

     float f;

}a[3];

A.36

B.24

C.12

D.6 A()

22.若有定义“int *p; ”且使“q=&p; ”,则q的定义应该是 ( )。

A.int q;

B.int *q;

C.int **q;

D.int &q; C()

23.若有语句int x, *p1=&x,*p2; 要使p2也指向x,正确语句的是(  )。

A.p2=p1;

B.p2=**p1;

C.p2=&p1;

                                       A()

24.若有语句“int a[3][4]={{1,3,5,7},{2,4,6,8}};”,则 *(*a+1) 的值为( ) 。

A.1

B.2

C.3

D.4 C()

25.若有语句“int a[10]; int *p=a; ”,则以下错误的表达式是( ) 。

A.p=a+5;

B.a=p+a;

C.a[2]=p[4];

D.*p=a[0]; B

26.以下对结构体变量stu中成员age的正确引用是( )。

struct Student{

    int age;

    int num;

} stu,*p=&stu;

A.Student.age

B.stu.age

C.stu->age

D.(*p)->age B()

27.(19. 37.)若有以下说明语句,

struct birthday

{

    int year;

    int month;

    int day;

}day1;

则下面叙述正确的是( )。

A.day1为结构体类型名

B.struct birthday为结构体变量名

C.month为结构体变量名

D.day1为结构体变量名 D()

28.有以下结构体说明、变量定义和赋值语句:

struct SID

{

    char name [10];

    int age;

    char sex;

}s[5],stu;

则以下 scanf函数调用语句有错误的是( )。

A.scanf("%s", s[0].name);

B.scanf("%d", &s[0].age);

C.scanf("%s", &stu.name);

D.scanf("%c", &stu.sex); C

29.设有如下定义

struct ss

{

    char name[10];

    int age;

    char sex;

}std[3],*p=std;

下列各输入语句中错误的是____。

A.scanf("%d", &(*p).age);

B.scanf("%s", &std.name);

C.scanf("%c", &std[0].sex);

D.scanf("%c", &(p->sex)); B

30.对于以下结构定义,(*p)->str++中的++加在()。

struct

{

        int len;

        char *str

} *p;

A.指针str上

B.指针p上

C.str指向的内容上

D.语法错误 D

31.设有如下定义,则对data中的a成员的正确引用是()。

struct sk

{

        int a;

        float b;

} data, *p=&data;

A.(*p).data.a

B.(*p).a

C.p->data.a

D.p.data.a B

32.若有下列定义,则以下不合法的表达式是( )。

struct student{

   int num;

   int age;

};

struct student stu[3] = {{101, 20}, {102, 19}, {103, 20}}, *p = stu;

A.(p++)->num

B.p++

C.(*p).num

D.p = &stu.age                          D

33.在单向链表中,存储每个结点需有两个域,一个是数据域,另一个是指针域,它指向该结点的( )。

A.直接前趋

B.直接后继

C.开始结点

D.终端结点 B

34.若程序有以下的说明和定义:

struct abc

{

    int x;

    char y;

}

struct abc s1,s2;

则会发生的情况是()

A.编译时错

B.程序将顺序编译、连接、执行

C.能顺序通过编译、连接、但不能执行

D.能顺序通过编译、但连接出错 A

35.链接存储的存储结构所占存储空间( )。

A.分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针

B.只有一部分,存放结点值

C.只有一部分,存储表示结点间关系的指针

D.分两部分,一部分存放结点值,另一部分存放结点所占单元数 A

36.若有定义

union data

{

    char ch;

    int x;

} a;

下列语句中( )是不正确的。

A.a={'x',10}

B.a.x=10;a.x++;

C.a.ch='x';a.ch++;

D.a.x=10;a.ch='x'; A

37.(19. 27.)若有定义

typedef struct {

    int n;

    char ch[8];

} PER;

以下叙述中正确的是( )。

A.PER是结构体变量名

B.PER是结构体类型名

C.typedef struct 是结构体类型

D.struct 是结构体类型名 B

38.若以“a+”方式打开一个已存在的文件,则以下叙述正确的是( )。

A.文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作

B.文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作

C.文件打开时,原有文件内容被删除,只可作写操作

D.以上各种说法都不正确 A

39.函数fscanf()的正确调用形式是( ) 。

A.fscanf(fp, 格式字符串, 输出表列);

B.fscanf(格式字符串, 输出表列, fp);

C.fscanf(格式字符串, 文件指针, 输出表列);

D.fscanf(文件指针, 格式字符串, 输入表列); D

40.下面的程序执行后,文件file.txt中的内容是

void fun(char *fname, char *st);

int main(void)

{

fun("file.txt", "How are you!");

fun("file.txt", "Fine, thank you!"); return 0;

}

void fun(char *fname, char *st) {

    FILE *fp;

    int len, i;

    fp = fopen(fname, "w");

    if (NULL == fp) { printf("file open error!");   exit(1); }

    len = strlen(st);

    for (i=0; i<len; i++) fputc(st[i], fp);

    fclose(fp) ;

        }

A.file.txt

B.How are you!

C.How are you!Fine, thank you!

D.Fine, thank you! D

41.已知有定义,FILE *fp; char str[] = "Good!"; fp = fopen("filename.dat", "wb"); 将数组str中存放的字符串写到名为filename.dat的二进制文件中。需要的语句是

A.fwrite(str[0], sizeof(char), 1, fp);

B.fread(str, sizeof(char), 5, fp);

C.fwrite(fp, sizeof(char), 5, str);

D.fwrite(str, sizeof(char), 5, fp); D

42.在C语言中,下面关于文件的存取方式正确的叙述是

A.可以顺序存取,也可以随机存取

B.不可以顺序存取,但可以随机存取

C.可以顺序存取,但不可以随机存取

D.只能从文件的开头存取 A

43.在C语言中,下面关于文件操作正确的叙述是

A.对文件操作时需要先关闭文件

B.对文件操作时需要先打开文件

C.对文件操作时,必须先检查文件是否存在,然后再打开文件

D.对文件操作时打开和关闭文件的顺序没有要求 B

44.按照文件的存储方式,文件可以分为

A.数据文件与程序文件

B.文本文件与字符文件

C.二进制文件与文本文件

D.格式文件与流式文件 C

45.当下面什么情况下,文件打开方式“w+”和“a+"有同样的效果。

A.打开文件既写又读

B.要打开的文件存在且为空

C.要打开的文件存在且不为空

D.打开文件只写不读 B

46.为写文本文件my.txt而打开其的正确写法是( )。

A.fp=fopen("my.txt","r")

B.fp=fopen("my.txt","rb")

Cfp=fopen("my.txt","wb")

D.fp=fopen("my.txt","w") D

47.有如下定义,下面说法正确的是()。

FILE *fp;

fp=fopen("a.txt","w");

A.若文件不存在,则无法将其打开

B.文件打开后,初始读写位置取决于文件内有无内容,如有,则在文件最后

C.可以对文件进行读写操作

D.会打开一个空的文本文件 D

48.对于以下递归函数f,调用函数f(27)的输出结果是( )。

void f(int n)

{  

    if (n < 5){

        printf("%d", n);

    }else{

        printf("%d", n%5);

        f(n/5);

   }

}

A.102

B.201

C.21

D.20 B

49.以下描述错误的是( )。

A.函数调用可以出现在执行语句中

B.函数调用可以出现在一个表达式中

C.函数调用可以作为一个函数的实参

D.函数调用可以作为一个函数的形参 D

50.变量存储类别

寄存器变量使用 ▁▁▁▁▁ 关键字。

A.auto

B.extern

C.register

D.static C

51.数组名作为参数时,以下叙述正确的是( )。

A.函数调用时是将实参数组的所有元素值传给形参。

B.函数调用时是将实参数组的第一个元素值传给形参。

C.函数调用时是将实参数组的首地址传给形参。

D函数调用时是将实参数组的所有元素的地址传给形参。 C

52.关于递归函数以下叙述错误的是( )。

A.递归函数是自己调用自己。

B.递归函数的运行速度很快。

C.递归函数占用较多的存储空间。

D.递归函数的运行速度一般比较慢。 B

53.当一个函数无返回值时,函数的返回类型应为( ) 。

A.任意

B.void

C.int

D.char B   (void为空函数,无返回值,int 类型的最多一个返回值)

54.以下( )函数,没有返回值。

A.int a(){ int a=2; return a*a; }

B.void b(){ printf("c\n"); }

C.int c(){ int a=2; return aaa;}

D.以上都是 B

55.被调函数返回给主调函数的值称为( ) 。

A.形参

B.实参

C.返回值

D.参数 C

56.

void f(int a){ a=3;},

int n=1;

f(n);

cout<<n<<endl;

的结果是()

A.3

B.1

C.0

D.不确定 B

57.递归函数的二个要素是( )。

A.函数头、函数体

B.递归出口、边界条件

C.边界条件、递归方程

D.递归表达式、递归方程 C

58.函数定义如下:

void f(int b[]) { b[1]=9;}

实参数组及函数调用如下:

int a[5]={1};

f(a);

则以下输出语句的结果为( )。

cout<<a[1]<<endl;

A.0

B.1

C.9

D.以上都不对 C

59.变量存储类别

局部变量使用 ▁▁▁▁▁ 关键字。

A.auto

B.extern

C.register

D.static A

60.变量存储类别

全局变量使用 ▁▁▁▁▁ 关键字。

A.auto

B.extern

C.register

D.static B

61.若有说明: char *language[]={“FORTRAN”,“BASIC”,“PASCAL”,“JAVA”,“C”}; 则以下不正确的叙述是 ( )。

A.language+2表示字符串"PASCAL"的首地址

B.*language[2]的值是字符P

C.language是一个字符型指针数组,它包含5个元素,每个元素是一个指向字符串变量的指针

D.language是一个字符型指针数组,它包含5个元素,其初值分别j : "FORTRAN","BASIC","PASCAL","JAVA","C"

D

62.有说明:char *language[]={"FORTRAN","BASIC","PASCAL","JAVA","C"}; 则表达式language[1]>language[3]

A.字符B和字符J

B.字符串FORTRAN和字符串PASCAL

C.字符F和字符P

D.字符串BASIC和字符串JAVA     D

63.若有定义char *str[]={“Python”, “SQL”, “JAVA”, “PHP”, “C++”}; 则表达式*str[1] > *str[3]比较的是:

A.字符P和字符J

B.字符串SQL和字符串PHP

C.字符串Python和字符串JAVA

D.字符S和字符P D

//64.若有定义:int a[3][4]={{1,2},{0},{1,2,3}};则a[1][1]的值为( )。

A.0

B.{1,2}

C.1

D.3 A

//65.若有定义int a[2][3]; 则对数组元素的非法引用是( )。

A.a[0][1/2]

B.a[1][1]

C.a[4-4][0]

D.a[0][3] D

//66.设int a[2][3]={0,0};,则下列描述错误的是( )。

A.数组a有6个元素

B.只有元素a[0][0]和a[0][1]的值为0,其余元素的值不确定

C.数组a的每个元素的值为0

D.二维数组a的第一维大小为2     B

67.设有定义语句“char s[12] = "string" ;”,则语句“printf("%d\n",strlen(s));”的输出是( )。

A.6

B.7

C.11

D.12 A

//68.有初始化语句“int a[3][4]={1,3,5,7,9};”,则a[1][2]的值为( )。

A.0

B.3

C.5

D.9 A

//69.语句“int a[3][4]={0};”的作用是( )。

A.仅使得元素a[0][0]为0

B.仅使得元素a[1][1]为0

C.使得所有元素都为0

D.仅使得元素a[3][4]为0 C

//70.有数组初始化语句“int a[3][2]={1,2,3,4,5,6};”,则值为6的数组元素是( )。

A.a[3][2]

B.a[2][1]

C.a[1][2]

D.a[2][3] B

有用就请点个赞吧!

pta C语言选择题相关推荐

  1. c语言第七章函数选择答案,C语言选择题及答案

    C语言选择题及答案 21.执行下面的程序后,a的值为( ). main() { int a,b; for(a=1,b=1;a<=10;a++) { if(b%3==l) { b+=3; cont ...

  2. 安徽大学计算机教学平台c语言作业,安徽大学计算机基础C语言选择题

    <安徽大学计算机基础C语言选择题>由会员分享,可在线阅读,更多相关<安徽大学计算机基础C语言选择题(5页珍藏版)>请在人人文库网上搜索. 1.1.能将高级语言编写的源程序转换成 ...

  3. c语言选择题答案在哪查,C语言选择题及答案

    C语言选择题及答案 成绩的取得离不开我们平时的努力,以下是百分网小编为大家整理的C语言选择题及答案,希望对大家的学习起到帮助! 选择题 1.在深度为5的满二叉树叶中,叶子结点的个数为( ). A.32 ...

  4. c语言EOF0x99,C语言选择题99道.doc

    C语言选择题99道 1.有以下程序int f1(int x,int y){ return x>y?x:y; }int f2(int x,int y){ return x>y?y:x; }m ...

  5. 2014年二级c语言,2014年计算机二级考试C语言选择题

    2014年计算机二级考试C语言选择题 { char x=0xFFFF;printf("%d\n",x--);} A.-32767 B.FFFE C.1 D.32768 22.下面的 ...

  6. c语言运行VBA,C语言选择题部分模块和VBA.ppt

    C语言选择题部分模块和VBA.pptC语言选择题部分模块和VBA.ppt (2)已知如下两程序段,执行程序段后,M的值分别是 Dim M Dim M M=val("24 and 57&quo ...

  7. struck在c语言中的作用,C语言-选择题及答案.doc

    C语言-选择题及答案.doc 计算机程序设计基础(C语言) 单项选择练习题 说明:带*号的对非信息学院的同学不作要求. 一.基本概念 1. C语言程序是由 C 构成的. A)一些可执行语言 B)mai ...

  8. c语言答案选择题,C语言选择题(附答案)

    1.1第一单元第一单元 C 语言概述语言概述一.选择题一.选择题1.C 语言中主函数的个数为( A)个.A)1 B)2C)无穷个D)任意个2.以下关于.以下关于 C 语言描述错误的是(语言描述错误的是 ...

  9. 【Day02_0419】C语言选择题

    [Day02_0419]C语言选择题 1.使用printf函数打印一个double类型的数据,要求:输出为10进制,输出左对齐30个字符,4位精度.以下哪个选项是正确的?(C) A %-30.4e B ...

  10. 【Day06_0423】C语言选择题

    [Day06_0423]C语言选择题 1.十进制变量i的值为100,那么八进制的变量i的值为:(C) A 146 B 148 C 144 D 142 2.执行下面语句后的输出为() int I = 1 ...

最新文章

  1. spring4新功能官方下载地址
  2. 工具栏,状态栏(VC_MFC)
  3. Filter在Vue,JS,JQ中的使用
  4. 小米开发出100W手机快充技术:实测逆天
  5. CAS单点登陆的两个原理图
  6. 苹果x用了2年了,当前4G信号时有时无,大家有遇到过么?
  7. 微软全球AI负责人沈向洋博士:下一个智能终端的风口 | IoT in Action
  8. oracle subset-superset pairs,Oracle 字符集
  9. 静态常量static和方法重载
  10. Linux小知识收集(不断更新)
  11. (转)wxWindows一些网文
  12. iOS开发:Mach-O入门理解
  13. 浅析Chrome Packaged Apps
  14. RequestMapping的映射URL模板
  15. 持续更新就是给软件上医保
  16. 【CTF】ciscn_2019_es_2
  17. winform 打印快递电子面单_隐私电子面单demo
  18. 寻找西北—东南线(类黑河—腾冲线)
  19. 北京联合大学聋人计算机,北京联合大学特教学院成人聋障大学生永不言弃
  20. macbook pro 怎么设置分屏_小米Pro要不要整黑苹果——Hackintosh浅度体验记录

热门文章

  1. 白帽子讲web安全读后感1
  2. 机器学习——卷积神经网络(CNN)
  3. linux下tar命令压缩/解压缩.tar/.gz/.bz2文件、分卷压缩
  4. 【极速下载】gradle各版本快速下载地址大全
  5. 国际象棋AI人机对弈设计
  6. Android pad 刷成苹果,利用安卓手机运行checkra1n越狱你的iPhone/iPad教程,支持12.3-13.5-13.7-14.3-14.4系统...
  7. git2.28下载 GIT2.28新版本网盘下载
  8. VMware 11.0 简体中文版|附永久密钥
  9. Java自定义数组排序
  10. linux下卸载grads,linux下安装grads