c语言程序设计秋考答案,南开《C语言程序设计》19秋期末考核【标准答案】
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
《C語言程序設計》19秋期末考核-0001
試卷總分:100 得分:70
一、單選題 (共 25 道試題,共 50 分)
1.putchar函數可以向終端輸出一個:
A.整型變量表達式值
B.實型變量值
C.字符或字符型變量值
D.字符串
2.以下對C語言中共用體類型數據的敘述正確的是( )
A.可以對共用體變量名直接賦值
B.共用體類型定義中不能出現結構體類型的成員
C.一個共用體變量中可以同時存放其所有成員
D.一個共用體變量中不能同時存放其所有成員
3.在C語言中,char型數據在內存中的存儲形式是( )
A.補碼
B.反碼
C.原碼
D.ASCII碼
4.從用戶使用的角度看,函數有兩種,它們是( )
A.用戶自定義函數和主函數
B.庫函數和用戶自定義函數
C.庫函數和主函數
D.主函數和子函數
5.若調用fputc函數輸出字符成功,則其返回值是( )
A.輸出的字符
B.EOF
C.1
D.0
6.變量的指針,其含義是指該變量的( )
A.標識
B.地址
C.名字
D.值
7.main() {int x=2,y=-1,z=2; if(x
A.3
B.2
C.1
D.0
8.#include main() {union { long a; int b; char c;}m; printf("%d\n",sizeof(m));} 以上程序的運行結果是( )。
A.8
B.6
C.4
D.2
9.設有以下說明語句 struct stu {int a;float b;}stutype; 則以下敘述不正確的是( )
A.stutype 是用戶定義的結構體類型名
B.struct 是結構體類型的關鍵字
C.struct stu 是用戶定義的結構體類型
D.a 和 b 都是結構體成員名
10.若有以下定義語句:int a[10]={1,2,3,4,5,6,7,8,9,10}; 則下列哪個是對該數組元素的正確引用( )
A.a[a[9]]
B.a[a[4]+4]
C.a[a[3]-5]
D.a[10]
11.以下正確的敘述是( )
A.若a是實型變量,C程序中允許賦值a=10,因此實型變量中允許存放整型數
B.在C語言中,每行只能寫一條語句
C.在C程序中,%是只能用于整數運算的運算符
D.在C程序中,無論整數還是實數,都能被準確無誤的表示
12.關于return語句,下列說法正確的是( )。
A.必須在每個函數中出現
B.可以在同一個函數中出現多次
C.只能在除主函數之外的函數中再出現一次
D.不能在主函數中出現
13.判斷字符串a是否大于b,應當使用( )
A.if (strcmp(b,a)>0)
B.if (strcmp(a,b)>0)
C.if (strcmp(a,b))
D.if (a>b)
14.下面程序段 int k=2; while (k==0) {printf(“%d”,k);k--;} 則下面描述中正確的是()。
A.循環是無限循環
B.循環體語句執行一次
C.循環體語句一次也不執行
D.while 循環執行 10 次
15.已有定義 int a=-2;和輸出語句:printf("%8lx",a);以下正確的敘述是:
A.整型變量的輸出格式符只有%d一種
B.%x 是格式符的一種,它可以適用于任何一種類型的數據
C.%x 是格式符的一種,其變量的值按十六進制輸出,但%8lx 是錯誤的
D.%8lx 不是錯誤的格式符,其中數字8規定了輸出字段的寬度
16.#include “stdio.h” void main() { int sum=0,a=1; while(a<=10) {sum=sum+a; a++; } printf(“sum=%d\n”,sum); } 以上程序段的運行結果是( )
A.sum=55
B.sum=11
C.sum=10
D.sum=0
17.若執行fopen函數時發生錯誤,則函數的返回值是( )
A.地址值
B.null
C.EOF
D.1
18.C語言結構體類型變量在程序執行期間( )。
A.部分成員駐留在內存中
B.沒有成員駐留在內存中
C.所有成員一直駐留在內存中
D.只有一個成員駐留在內存中
19.以下對一維整型數組 a 的正確說明是( )
A.int n=10,a[n];
B.int n;
C.int a(10) ;
D.define SIZE 10 int a[SIZE];
20.struct person {char name[9]; int age;}; struct person class[10]={"John",17,"Paul",19,"Mary"18,"adam",16}; 根據上面的定義,能打印出字母M的語句是( )。
A.printf("%c\n",class[3].name[1]);
B.printf("%c\n",class[3].name);
C.printf("%c\n",class[2].name[1]);
D.printf("%c\n",class[2].name[0])
21.x=-2; y=-1; if(x!=0) if(x>0) y=1; else y=0; 該程序段的輸出結果為( )。
A.不確定
B.1
C.0
D.-1
22.若以”a+”方式打開一個已存在的文件,則以下敘述正確的是( )。
A.文件打開時,原有文件內容被刪除,只可作寫操作。
B.文件打開時,原有文件內容被刪除,位置指針移到文件開頭,可作重新寫和讀操作。
C.文件打開時,原有文件內容不被刪除,位置指針移到文件末尾,可作添加和讀操作。
D.以上各種說法皆不下確。
23.判斷字符串a是否大于b,應當使用( )
A.if (strcmp(b,a)>0)
B.if (strcmp(a,b)>0)
C.if (strcmp(a,b))
D.if (a>b)
24.main() { int x,y,z; scanf (“%d%d%d”,&x,&y,&z); printf(“x+y+z=%d\n”,x+y+z); } 輸入數據的形式是25,13,10,則程序的輸出結果是( )
A.不確定值
B.x+z=35
C.x+y+z=48
D.x+y+z=35
25.for (i=2; i==0; ) printf(“%d” , i--) ; 以上程序段的循環次數是( )
A.無限次
B.2次
C.1 次
D.0次
二、判斷題 (共 10 道試題,共 20 分)
26.被main函數調用的函數只能是庫函數。( )
27.字符常數和字符串常數的存儲是相同的,都是以字符的ASCII碼值進行存放。( )
28.按現代風格設計的C程序中,main中對函數聲明的信息與定義此函數時第一行的信息完全相同。( )
29.在Visual C中,整型數據在內存中占2個字節。( )
30.C語言采用解釋方式將源程序轉換為二進制的目標代碼。( )
31.C語言中沒有依存于硬件的I/O語句。( )
32.C語言中的任何類型數據都可進行四則運算。( )
33.C語言中的標識符以字母或下劃線開頭,可跟任何字符。( )
34.在Turbo C++中,字符型數據在內存中占1個字節。( )
35.PI可作為標識符使用。( )
三、主觀填空題 (共 2 道試題,共 10 分)
36.下面函數的功能是將字符變量的值插入已經按ASCII碼值從小到大排好序的字符串中。請完善該程序。
void fun(char *w,char x,int *n)
{
int i,p=0;
while(x>w[p])
##;
for(i=*n;i>=p;i--)
##;
w[p]=x;
##;
}
37.以下程序是計算學生的年齡。已知第一位最小的學生年齡為10歲,其余學生的年齡一個比一個大2歲,求第5個學生的年齡。請完善該程序。
#include
age( int n )
{
int c;
if(##) c=10;
else c=##;
return(c);
}
main()
{
int n=5;
printf("age:%d\n",##);
}
四、問答題 (共 4 道試題,共 20 分)
38.請寫出下面程序的輸出結果。
#include
fun(int n, int *s)
{
int f1, f2;
if(n==1||n==2)
*s=1;
else
{
fun(n-1, &f1);
fun(n-2, &f2);
*s=f1+f2;
}
}
main()
{
int x;
fun(6, &x);
printf("%d\n", x);
}
39.請寫出下面程序的輸出結果。
main()
{
int i,j,x=0;
for(i=0;i<2;i++)
{
x++;
for(j=0;j
{
if(j%2)
continue;
x++;
}
x++;
}
printf("x=%d\n",x);
}
40.請寫出下面程序的輸出結果。
#include
main ( )
{
int a[]={1, 2, 3, 4, 5} ;
int x, y, *p;
p=&a[0];
x=*(p+2);
y=*(p+4);
printf("%d,%d,%d\n", *p, x, y);
}
41.請寫出下面程序的輸出結果。
#include
char *pp[2][3]={ "abc", "defgh", "ijkl", "mnopqr", "stuvw", "xyz"};
main ( )
{
printf("%c\n",***(pp+1));
printf("%c\n",**pp[0]);
printf("%c\n",(*(*(pp+1)+1))[4]);
printf("%c\n",*(pp[1][2]+2));
printf("%s\n",**(pp+1));
}
總結
以上是生活随笔為你收集整理的c语言程序设计秋考答案,南开《C语言程序设计》19秋期末考核【标准答案】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LaTeX参考文献引用显示?问号解决办法
- 下一篇: ISO26262自习室_Part1_故障