C語言模擬試題2
一、單項選擇題:本題共 10小題,滿分 20 分。
1、語句printf(“%d”,(a=2)&&(b=-2)); 的輸出結果是( )。
A.無輸出 B.結果不確定 C.-1 D.1
2、若定義inta=8, b, *p=&b; 則下面兩個獨立的賦值語句p=&a和*p=a的含義為( )。
A.兩個語句都是使p指向a
B.p=&a是使p指向a,而*p=a是將a的值賦予*p
C.兩個語句都是將a的值賦予*p
D.p=&a是將a的值賦予*p,而*p=a是使p指向a
3、若k為整型,則while迴圈( )。
k=10; while(k!=0) k- -;
A.執行10次 B.無限迴圈 C.執行11次 D.執行9次
4、在while(x)語句中的x與下面條件表示式等價的是:( )。
A.x!=0 B。x==1 C。x!=1 D。x==0
5、以下程式段的輸出結果是( )。
char str[]= “a girl”;
printf(“%d\n”,strlen(str));
A.6 B.5 C.8 D.7
6、若有宣告doubleb[7][6]; 則對其元素的非法引用是( )。
A.b[3][5] B.b[7][5] C.b[2*3][4] D.b[0][9-6]
7、已知
struct sk
{
int a;
float b;
}data,*p;
若有p=&data 則對data中成員a的正確引用是( )。
A.(*p).data B. (*p).a
C. p->data.a D. p.data.a
8、若用陣列名作為函式實參時,則傳遞給形參的是( )。
A.陣列的首地址 B.陣列的第一個元素的值
C.陣列中全部元素的值 D.陣列元素的個數
9、若有以下語句:
typedef struct S
{ int g;
char h;
}T;
以下敘述中正確的是( )
A. 可用S定義結構體變數 B. 可用T定義結構體變數
C. S是struct型別的變數 D. T是structS型別的變數
10、設有說明:
union data
{ int i;
struct
{
int x;chary;
}s;
float f;
}a;
int和float型別變數分別佔4個位元組,變數a在記憶體中所佔位元組數為( )
A.4 B.5 C.10 D.13
二、填空題:
本題共5 小題,滿分 10 分。
1、已知a=3、b=2,則表示式a*=b+8的值是 。
2、設int a=7,b=9,t; 執行完表示式 t= a>b ? a: b 後,t 的值是 。
3、C語言表示式 5>9>8 的值是 。
4、當執行完以下語句後,變數a的值為 ,e的值為 。
a=6; b=++a;
c=- -a; d=a++;
e=a- -;
5、int(*p)[n]中定義的p為 指標變數。
三、程式閱讀: 本題共6小題,滿分45分
1、寫出下列程式的執行結果:(8分)
#include <stdio.h>
int fun()
{ static intx=1;
x*=2;
return x;
}
void main()
{ int i,s=1;
for(i=1;i<=3;i++) s*=fun();
printf("%d\n",s);
}
執行結果:
2、輸出100以內能被3和5整除且個位數是0的所有整數,請填空:(9分)
#include <stdio.h>
void main () 填空: ①
{ int i, j ;
for(i=0; ① ; i++) ②
{ j=i*10;
if( ② && ③ ) ③
printf(“%5d”, j);
}
}
3、寫出下列程式的執行結果:(8分)
#include <stdio.h>
void main( )
{ char c;
int i;
for(i=’A’; i<’C’; i++)
{ c=i+32;
switch(c)
{ case ‘a’: printf("%c,",c); break;
case ‘b’:
case ‘e’: printf("ok,");
default: printf("end");
}
}
}
執行結果:
4、下列函式的功能是求n的階乘,請填空(6分)
#include <stdio.h>
int fun (int n)
{ int f; 填空: ①
if( n<0)
printf(“n<0, data error\n”); ②
else if( n==0 || n==1)
f = ①
else f= ② ;
return f;
}
5、程式執行後的輸出結果是:(6分)
#include <stdio.h>
void main()
{ int a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};
printf("%d \n ", *(a+1));
printf("%d %d\n",*(a[1]+1),*(*(a+2)+1));
}
假設陣列a的首地址為1000,每個整數佔兩個位元組。
執行結果:
6、寫出下列程式的執行結果:(8分)
#include <stdio.h>
void main( )
{ char string[81];
int j, number=0, token=0;
char c;
gets(string);
for (j=0; (c=string[j]); j++)
{
if ( c== ‘ ’ ) token=0;
else if (token==0){ token=1; number++; }
}
printf(“%d token”,number);
}
輸入字串:2 intsymbol;
執行結果:
四、程式設計。本題共2小題,滿分25分。
1、編寫函式fun,其功能是:求出1,1+2,1+2+3各項的值,並放在一維陣列a中傳回主函式。例如:若k=6,則應輸出:1 3 6 10 15 21。
函式原型為:void fun(int *a, int k ) (10分)
2、輸入10個學生的資訊,包括學號、姓名、年齡、3門課成績,輸出平均分最高的學生的資訊;統計2門及2門以上不及格的人數。要求使用函式實現。(15分)
①Input(struct Student stu[], int n)
②High_Score(struct Student stu[],int n)
③Total(struct Student stu[], int n)
相關文章
- C語言上機測試模擬題2C語言
- C語言模擬試題1C語言
- C語言模擬試題3C語言
- C語言模擬試題4C語言
- C語言模擬試題5C語言
- C語言模擬試題6C語言
- C語言上機測試模擬題-1C語言
- C語言50題之模擬實現atof、atoiC語言
- C語言實戰!!!:商城系統模擬C語言
- 關於c語言模擬c++的多型C語言C++多型
- 試題 演算法提高 質數2(C語言)演算法C語言
- c語言模擬Python的命名引數C語言Python
- (C語言)簡單明瞭的 陣列模擬棧+ (C++)陣列模擬棧C語言陣列C++
- C語言的考試題型C語言
- PAT-B 1059 C語言競賽【模擬】C語言
- C語言考試題及答案(一)C語言
- C語言常見使用問題2C語言
- ChatGPT模擬Go語言面試 (一次小的測試)ChatGPTGo面試
- C語言50題之百度筆試題C語言筆試
- C#專案—模擬考試C#
- C語言指標和陣列筆試題C語言指標陣列筆試
- 自己用C語言寫的一個模擬退火演算法C語言演算法
- 重新學C語言2C語言
- 標準C語言2C語言
- 高階C語言2C語言
- C語言作業2C語言
- c語言與字串相關的庫函式的模擬實現C語言字串函式
- 模擬實現不受限制的字串函式--C語言版字串函式C語言
- 作業系統:程式狀態轉換模擬,C語言實現作業系統C語言
- 資料結構之C語言模擬整數陣列實現資料結構C語言陣列
- 簡單機器語言的模擬 (轉)
- 程式設計師C語言經典筆試題程式設計師C語言筆試
- C語言單元測試C語言
- C語言字串例題C語言字串
- C語言的謎題C語言
- 一套幫助你理解 C 語言的測試題
- 大語言模型能用作世界模擬器嗎?模型
- 分析C語言的宣告(2)C語言