项目一初识C语言

项目一测验

1、判断题:
C语言的源程序是由函数组成的。(  )‏​‏
选项:
A: 正确
B: 错误
答案: 【 正确

2、判断题:
‎    C语言的任何一个源程序中必须有一个主函数。(  )‏‎‏
选项:
A: 正确
B: 错误
答案: 【 正确

3、判断题:
Visual C++ 6.0不可以开发C语言程序。(  )‌‏‌
选项:
A: 正确
B: 错误
答案: 【 错误

4、判断题:
‏    Visual C++是运行在Windows操作系统上的32位C语言程序开发工具。(  )‍‏‍
选项:
A: 正确
B: 错误
答案: 【 正确

5、填空题:
‏C语言规定,一个程序必须有一个主函数,其函数名为        。​‏​
答案: 【 main

6、填空题:
‍—般而言,一个C语言程序的执行是从       开始,到       结束。‏
答案: 【 主函数 主函数##%_YZPRLFH_%##main main

7、填空题:
‏一个C语言程序是由      组成的。‏‏‏
答案: 【 函数

8、填空题:
‌开发C语言程序的步骤可以分成四步,即       、       、      、      。‌‌‌
答案: 【 编辑 编译 连接 运行##%_YZPRLFH_%##编辑 编译 链接 运行

9、填空题:
‏C语言规定,源程序的扩展名是      ,目标文件的扩展名是     ,可执行文件的扩展名是      。‏‏‏
答案: 【 .c .obj .exe

10、填空题:
‎每个C语句必须以      号结束。‌‎‌
答案: 【 ;##%_YZPRLFH_%##分号

11、填空题:
#include <stdio.h> ‏main() ‏{  printf("I love China!n");‏printf("We are students.n");‏}‏程序的运行结果为                           。‏‏‏
答案: 【 I love China!
We are students.

12、填空题:
#include <stdio.h> ​main() ​{                   ​int a; ​a=5;​printf("%dn",a+1);​}​‍   程序的运行结果为                           。​‍​
答案: 【 6

项目七结构体和共用体

项目七测验

1、单选题:
‌下列程序中,结构体变量a所占内存字节数是(    )。 ​‌ union U​‌ { char st[4];​‌ int i;​‌ long j;​‌ };​‌ struct A​‌ { int c;​‌ union U u;​‌ }a;​
选项:
A: 4
B: 5
C: 6
D: 8
答案: 【 8

2、单选题:
‌设有以下说明语句:​‌struct ex​‌{ int x; float y; char z;}example;​‌则下面的叙述中不正确的是(    )。​
选项:
A: struct是结构体类型的关键字
B: example是结构体类型名
C: x,y,z都是结构体成员名
D: struct ex是结构体类型名
答案: 【 example是结构体类型名

3、单选题:
‍若有以下结构体定义:‎‍struct example‎‍{int x;‎‍ int y;‎‍}v1;‎‍则(    )是正确的引用或定义。‎
选项:
A: example.x=10;
B: example v2; v2.x=10;
C: struct v2;v2.x=10;  
D: struct example v2={10};
答案: 【 struct example v2={10};

4、单选题:
‏以下对结构体变量stu1中成员age非法引用是(    )。‌‏    struct student‌‏ { int age;‌‏    int num;‌‏ }stu1,*p;‌‏ p=&stu1;‌
选项:
A: stu1.age
B: student.age
C: p->age
D: (*p).age
答案: 【 student.age

5、单选题:
‏以下对C语言中共用体类型数据的正确描述是(    )。‌
选项:
A: 一旦定义了一个共用体变量后,即可引用该变量或该变量中的任意成员
B: 一个共用体变量中可以同时存放其所有成员
C: 一个共用体变量中不能同时存放其所有成员
D: 共用体类型数据可以出现在结构体类型定义中,但结构类型数据不能出现在联合类型定义中
答案: 【 一个共用体变量中不能同时存放其所有成员

6、单选题:
‌根据以下定义能输出字母M的语句是(    )。‏‌ struct person‏‌ { char name[9];‏‌ int age;‏‌ };‏‌struct person class[10]= {“John”, 17, “Paul”  ,19, “Mary”,18, “Adam”,16};‏
选项:
A: printf(“%cn”,class[3].name);
B: printf(“%cn”,class[3].name[1]);
C: printf(“%cn”,class[2].name[1]);
D: printf(“%cn”,class[2].name[0]);
答案: 【 printf(“%cn”,class[2].name[0]);

7、单选题:
‏以下程序的输出是(    )。‍‏ #include<stdio.h>‍‏ main()‍‏ {‍‏ struct cmplx‍‏ {       int x;‍‏ int y;‍‏ }cnum[2]={1,3,2,7};‍‏ printf("%dn",cnum[0].y/cnum[0].x*cnum[1].x);‍‏ }‍
选项:
A: 0
B: 1
C: 3
D: 6
答案: 【 6

8、单选题:
‍已知字符0的ASCII代码值的十进制数是48,以下程序‌‍#include<stdio.h>‌‍main()‌‍{      union{ int i[2];‌‍     long k;‌‍     char c[4];‌‍   }r,*s=&r;‌‍ s->i[0]=0x39;‌‍ s->i[1]=0x38;‌‍ printf("%xn",s->c[0]);‌‍}‌‍其输出结果是(    )。‌
选项:
A: 39
B: 9
C: 38
D: 8
答案: 【 39

9、单选题:
​有以下结构体说明和变量的定义,指针p指向变量a,指针q指向变量b,则不能把结点b连接到结点a之后的语句是(    )。‌​ struct node‌​ { char data;‌​   struct node *next;‌​ }a,b,*p=&a,*q=&b;‌
选项:
A: a.next=q;
B: p.next=&b;
C: p->next=&b;
D: (*p).next=q;
答案: 【 p.next=&b;

10、填空题:
​若已定义:‌​struct num‌​{‌​ int a;‌​ int b;‌​ float f;‌​}n={1,3,5.0};‌​struct num *pn=&n;‌​则表达式pn->b/n.a*++pn->b的值是            。‌​‌
答案: 【 12

11、填空题:
‌#include <stdio.h> ‏‌union change‏‌{ ‏‌char c[2];‏‌int i;‏‌}un;‏‌main() ‏‌{ ‏‌ un.i=26984;‏‌  printf("%d,%cn",un.c[0],un.c[0]);‏‌ printf("%d,%cn",un.c[1],un.c[1]);‏‌}‏‌程序的运行结果为                           。‏
答案: 【 104,h
105,i

12、填空题:
‌#include <stdio.h> ​‌ main()​‌ {​‌ struct Example​‌ { ​‌ struct{     int x;​‌ int y;​‌ }in;​‌ int a;​‌ int b;​‌ }e;​‌ e.a=1;​‌ e.b=2;​‌ e.in.x=e.a*e.b;​‌ e.in.y=e.a+e.b;​‌ printf("%d,%d",e.in.x,e.in.y);​‌}​‌程序的运行结果为                           。​
答案: 【 2,3

13、填空题:
​#include <stdio.h> ‏​struct ks‏​{  int a;‏​  int *b;‏​}s[4],*p;‏​main()‏​{  int n=1,i;‏​ for(i=0;i<4;i++)‏​ { s[i].a=n;‏​ s[i].b=&s[i].a;‏​ n=n+2;‏​ }‏​ p=&s[0];‏​ p++;‏​ printf("%d,%dn",(++p)->a,(p++)->a);‏​}‏​程序的运行结果为                           。‏
答案: 【 5,3

14、填空题:
‌#include <stdio.h>‌‌ union ks‌‌ {  int a;‌‌ int b;‌‌ };‌‌ union ks s[4];‌‌ union ks *p;‌‌main() ‌‌{  int n=1,i;‌‌for(i=0;i<4;i++)‌‌{ ‌‌ s[i].a=n;‌‌ s[i].b=s[i].a+1;‌‌ n=n+2;‌‌ }‌‌ p=&s[0];‌‌ printf("%d,",p->a);‌‌printf("%d",++p->a);‌‌}‌‌程序的运行结果为                           。‌
答案: 【 2,3

项目三结构化程序设计

项目三测验

1、单选题:
‏‍C语言用(  )表示逻辑“真”值。‏
选项:
A: true
B: t或y
C: 非零整数值
D: 整数0
答案: 【 非零整数值

2、单选题:
‎语句while(!e);中的条件!e等价于(  )。‎
选项:
A: e==0 
B: e!=1
C: e!=0
D: e==1
答案: 【 e==0 

3、单选题:
以下for循环是(   )。‏    for(x=0,y=0;(y!=123)&&(x<4);x++)‏
选项:
A: 无限循环
B: 循环次数不定
C: 执行4次
D: 执行3次
答案: 【 执行4次

4、单选题:
‎以下有关for循环的正确描述是(   )。‍
选项:
A: for循环只能用于循环次数已经确定的情况
B: for循环是先执行循环体,后判定表达式
C: 在for循环中,不能用break语句跳出循环体
D: for循环体语句中,可以包含多条语句,但要用花括号括起来
答案: 【 for循环体语句中,可以包含多条语句,但要用花括号括起来

5、单选题:
‍对于for(表达式1;;表达式3),可理解为(   )。‍
选项:
A: for(表达式1;1;表达式3)
B: for(表达式1; 表达式1; 表达式3)
C: for(表达式1; 表达式2; 表达式3)
D: 相当于while(表达式1)
答案: 【 for(表达式1;1;表达式3)

6、单选题:
​C语言中while和do-while循环的主要区别是(   )。‎​‎
选项:
A: do-while的循环体至少无条件执行一次
B: while的循环控制条件比do-while的循环控制条件严格
C: do-while允许从外部转到循环体内
D: do-while的循环体不能是复合语句
答案: 【 do-while的循环体至少无条件执行一次

7、单选题:
下面程序段中,语句“k++;”执行的次数为(   )。‎    for(k=0,m=4;m;m-=2)‎      for(n=1;n<4;n++)‎         k++;‎‏‎
选项:
A: 16
B: 12
C: 6
D: 8
答案: 【 6

8、单选题:
设声明语句int a=1,b=0;,执行下面语句后的输出结果为(  )。‍     switch(a)‍     { case 1:‍       switch(b)‍       { case 0: printf("**0**");break;‍         case 1: printf("**1**");break;‍}‍case 2: printf("**2**");break;‍}‍
选项:
A: **0**
B: **0****2**
C: **0****1****2**
D: 语法有错误
答案: 【 **0****2**

9、单选题:
执行下面程序后,i的值为(  )。‏   #include<stdio.h> ‏main() ‏{   int i,x;                ‏for(i=1,x=1;i<=20;i++)‏{ if(x%2==1)‏   {x+=5;continue;}‏if(x>=10)break;‏x-=3;‏}‏}‏‌‏
选项:
A: 21
B: 2
C: 6
D: 11
答案: 【 6

10、填空题:
‏在C语言中以_______代表“真”,以_______代表“假”。‎‏‎
答案: 【 非0 0##%_YZPRLFH_%##1 0

11、填空题:
‎‎‎‎while语句执行的特点是______________________,如果表达式的值一开始就为      _ 时,则循环体一次也不执行。‎‎‎‎‎‎
答案: 【 先判断后执行 假##%_YZPRLFH_%##先判断,后执行 假

12、填空题:
‏for语句中的表达式1、表达式2和表达式3都可以省略,但每个表达式的_______    一定不能省略。‍‏‍
答案: 【 ;##%_YZPRLFH_%##分号

13、填空题:
#include<stdio.h> ‌main() ‌{   int a=3,b=4,c=5,t=99;                ‌if(b<a&&a<c)‌t=a;a=c;c=t; ‌if(a<c&&b<c)‌t=b;b=a;a=t; ‌printf("%d,%d,%dn",a,b,c);‌}‌程序的运行结果为                           。‌‌‌
答案: 【 4,5,99

14、填空题:
#include<stdio.h> ‎main() ‎{  int a=50,b=20,x;‎   x=a;‎   if(a<b)  x=b; ‎printf("%dn",x);‎}‎程序的运行结果为                           。‎​‎
答案: 【 50

剩余75%内容付费后可查看

发表评论

电子邮件地址不会被公开。 必填项已用*标注