蓝莓题库

中国大学moocc语言程序设计 -k8凯发

欢迎来访!

k8凯发-凯发官网入口智慧职教题库 正文

作者2023-02-27 00:08:49智慧职教题库 78 ℃0 评论
第一周:程序设计与c语言

1.1 计算机和编程语言随堂测验

1、计算机本身最擅长的能力是?
    a、推理
    b、想像
    c、重复
    d、分析

2、编程语言是和计算机交谈的语言

3、计算机(cpu)可以直接运行人类编写的程序

1.2 c语言随堂测验

1、关于c语言,以下说法错误的有:
    a、c语言是和unix操作系统一同发展起来的
    b、c语言不能写图形界面的软件
    c、c语言一般是编译执行的
    d、c语言诞生于1970年代

2、轻量级的编程软件,如geany mingw或sublime text mingw,与专门的ide如dev c 相比,什么功能没有了?(提示:上课没有直接讲,但是间接提到了)
    a、单步调试
    b、源代码编辑时的语法高亮
    c、编译程序
    d、运行程序

3、ide的中文翻译是什么?

第一周:计算

2.1 变量随堂测验

1、以下哪些是有效的变量名?
    a、main
    b、4ever
    c、monkey-king
    d、__int

2、给定: int a,b; scanf("%d %d", &a, &b); 则以下哪些输入方式是正确的?
    a、1 2
    b、1,2
    c、1(回车)2
    d、1、2

3、给定: int a,b; 以下哪些scanf的使用是正确的?
    a、scanf("%d", &a); scanf("%d", &b);
    b、scanf("%d %d", &a, &b);
    c、scanf("%d, %d", &a, &b);
    d、scanf("%d %d", a, b);

4、给定以下代码段: int a,b=0; 则a的初始值是0

5、写出下式的运算结果: 10/3.0*3

6、写出下式的运算结果: 10/3*3.0

2.2 表达式随堂测验

1、写出以下代码执行后,t1和t2的值,以空格隔开: int a=14; int t1 = a ; int t2 = a;

2、写出以下表达式的结果,一个结果一行: 6 5 / 4 - 2 2 2 * (2 * 2 - 2) % 2 / 3 10 9 * ((8 7) % 6) 5 * 4 % 3 * 2 3 1 2 (3 4) * ((5 * 6 % 7 / 8) - 9) * 10

第三周:判断

3.1 判断随堂测验

1、以下语句是否可以通过编译: if ( 1<=n<=10 );

2、以下语句是否表示n属于[1,10]: if ( 1<=n<=10 );

3、写出程序的输出结果: int i,j,k; i=5; j=10; k=1; printf("%d", k>i
4、写出程序的输出结果: int i,j,k; i=2;j=3; k = i*j==6; printf("%d\n", k);

5、写出程序的输出结果: int i,j,k; i=3;j=2;k=1; printf("%d", i
3.2 分支随堂测验

1、写出程序的输出: int i=1; switch ( i%3 ) { case 0: printf("zero"); case 1: printf("one"); case 2: printf("two"); }

2、写出程序的输出: int a = 58; if ( a>50 ) printf("a"); if ( a>40 ) printf("b"); if ( a>30 ) printf("c");

第四周:循环

4.1 循环随堂测验

1、while循环的条件满足的时候循环继续,而do-while的条件满足的时候循环就结束了

2、以下代码片段执行结束后,变量i的值是多少? int i =10; while ( i>0 ) { i /=2; }

3、以下代码片段执行结束后,变量i的值是多少? int i = 1; do { i = 5; } while (i<17);

4.2 循环应用随堂测验

1、以下哪种运算能从变量x中取得十进制最低位的数字
    a、x / 10
    b、x % 10
    c、x * 10
    d、10 / x

2、当需要累加一些值的时候,用来记录累加结果的变量应该被初始为:

第五周:循环控制

5.1 第三种循环随堂测验

1、以下哪个循环和其他三条循环不等价(假设循环体都是一样的)?
    a、for ( i=0; i<10; i ) {...}
    b、for ( i=0; i<10; i ) {...}
    c、for ( i=0; i <10; ) {...}
    d、for ( i=0; i<=9; i ) {...}

2、以下代码段的输出是什么? for ( int i=10; i> 1; i /=2 ) { printf("%d ", i ); }

5.2 循环控制随堂测验

1、以下代码段的输出是: int sum = 0; for ( int i=0; i<10; i ) { if ( i%2 ) continue; sum = i; } printf("%d\n", sum);

2、以下代码段的输出是: int sum = 0; for ( int i=0; i<10; i ) { if ( i%2 ) break; sum = i; } printf("%d\n", sum);

第六周:数据类型

6.1 数据类型随堂测验

1、以下哪个字母不能在数字后面表示类型?
    a、f
    b、u
    c、l
    d、x

2、以下哪个数字的值最大?
    a、10
    b、010
    c、0x10
    d、10.0

3、以下哪个数字占据的空间最大?
    a、32768
    b、‘3’
    c、32768.0
    d、32768.0f

4、以下哪种类型不能用在switch-case的判断变量中:
    a、char
    b、short
    c、int
    d、double

5、下列哪些是有效的字符?
    a、‘ ’
    b、‘\’‘
    c、''
    d、'\'

6、以下表达式的结果是: '1' 3

6.2 其他运算:逻辑、条件、逗号随堂测验

1、以下哪个表达式,当a和b都是true或者都是false的时候,表达式的结果为true。
    a、a && b
    b、a || b
    c、a == b
    d、a ^ b

2、以下哪个表达式与!(a&&b)是等价的
    a、!a && !b
    b、!a || !b
    c、a && b
    d、a || b

3、以下哪个表达式的结果是true?
    a、!(4<5)
    b、2>2||4==4&&1<0
    c、34==33&&!false
    d、!false

4、以下哪个表达式,当a和b中只有一个是true的时候结果为true,而如果两个都是false或都是true的时候,结果为false
    a、a && b
    b、a || b
    c、a != b
    d、!a && !b

5、以下代码执行后,i的值是: i = 3/2,3*2;

第七周:函数

7.2 函数的参数和变量随堂测验

1、以下哪句不是正确的原型?
    a、int f();
    b、int f(int i);
    c、int f(int);
    d、int f(int i) {}

2、以下哪个函数的定义是错误的?
    a、void f() {}
    b、void f(int i) { return i 1; }
    c、void f(int i) {}
    d、int f() { return 0; }

3、对于不返回值而且只有一个int类型的参数的函数,以下哪些函数原型是正确的?
    a、void f(int x);
    b、void f();
    c、void f(int);
    d、void f(x);

4、以下程序的输出是什么? #include void swap(int a, int b); int main() { int a = 5; int b = 6; swap(a,b); printf("%d-%d\n", a, b); return 0; } void swap(int a, int b) { int t = a; a = b; b = t; }

第八周:数组

8.2 数组运算随堂测验

1、若有定义: int a[2][3]; 则以下选项中不越界的正确的访问有:
    a、a[2][0]
    b、a[2][3]
    c、a[1>2][0]
    d、a[0][3]

2、以下程序片段的输出结果是:int m[][3] = {1,4,7,2,5,8,3,6,9,}; int i,j,k=2; for ( i=0; i<3; i ) { printf("%d", m[k][i]); }
    a、369
    b、不能通过编译
    c、789
    d、能编译,但是运行时数组下标越界了

3、假设int类型变量占用4个字节,定义数组 int x[10] = {0,2,4}; 则x在内存中占据几个字节?

4、若有: int a[][3] = {{0},{1},{2}}; 则 a[1][2] 的值是?

第九周:指针

9.1 指针随堂测验

1、对于:int a[] = {5, 15, 34, 54, 14, 2, 52, 72}; int *p = &a[5]; 则: p[-2]的值是?
    a、编译出错,因为数组下标越界了
    b、运行出错,因为数组下标越界了
    c、54
    d、2

2、如果:int a[] = ; int *p = a; 则以下哪些表达式的结果为真?
    a、p == a[0]
    b、p == &a[0]
    c、*p == a[0]
    d、p[0] == a[0]

3、以下变量定义: int* p,q; 中,p和q都是指针。

4、对于:int a[] = {5, 15, 34, 54, 14, 2, 52, 72}; int *p = &a[1]; 则: p[2]的值是?

9.2 指针运算随堂测验

1、对于以下代码段,正确的说法是:char *p; while (1) { p = malloc(1); *p = 0; }
    a、最终程序会因为没有没有空间了而退出
    b、最终程序会因为向0地址写入而退出
    c、程序会一直运行下去
    d、程序不能被编译

2、对于以下代码段:int a[] = {1,2,3,4,5,}; int *p = a; int *q = &a[5]; printf("%d", q-p); 当sizeof(int)为4时,以下说法正确的是:
    a、因为第三行的错误不能编译
    b、因为第三行的错误运行时崩溃
    c、输出5
    d、输出20

3、使用malloc就可以做出运行时可以随时改变大小的数组

第十一周:结构类型

11.2 结构随堂测验

1、有下列代码段,则输出结果是:struct { int x,y; } s[2] = { {1,3}, {2,7}, }; printf("%d\n", s[0].y/s[1].x);
    a、0
    b、1
    c、2
    d、3

2、有如下变量定义,则对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

3、以下两行代码能否出现在一起? struct { int x; int y; } x; struct { int x; int y; } y;

第十二周:程序结构

12.2 编译预处理和宏随堂测验

1、假设宏定义: #define double(x) 2*x 则double(1 2)的值是

2、假设宏定义如下: #define toupper(c) ('a'<=(c)&&(c)<='z'?(c)-'a' 'a':(c)) 设s是一个足够大的字符数组,i是int型变量,则以下代码段的输出是: strcpy(s, "abcd"); i = 0; putchar(toupper(s[ i]));

猜你喜欢

  • 2023-02-27 00:17
  • 2023-02-27 00:14
  • 2023-02-26 23:07
  • 2023-02-26 23:07
  • 2023-02-26 23:05
  • 2023-02-26 23:03
  • 2023-02-26 22:55
  • 2023-02-26 22:33
  • 2023-02-26 22:14
  • 2023-02-26 21:54
网站分类
最新发表
标签列表
网站地图