c语言程序参数mook,C语言程序设计-中国大学mooc-题库零氪
第一周:程序設計與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[] = {0}; 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]));
總結
以上是生活随笔為你收集整理的c语言程序参数mook,C语言程序设计-中国大学mooc-题库零氪的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux平滑升级nginx,Nginx
- 下一篇: c语言常用指令翻译,c语言常见专业词汇带