C語言模擬試題4
一、單項選擇題。本題共10小題,每小題2分,滿分20分
1、下列運算子中優先順序最低的是 ( )
A.?: B.&& C.+ D.!=
2、對for(表示式1;;表示式3)可理解為 ( )
A.for(表示式1;0表示式3) B.for(表示式1;1;表示式3)
C.for(表示式1;表示式1;表示式3) D.for(表示式1;表示式3;表示式3)
3、如果在一個函式的複合句中定義了一個變數,該變數 ( )
A.在該函式中有效 B.只在該複合語句中有效
C.在本程式範圍內均有效 D.為非法變數
4、已知x=43,ch= ‘A’, y=0,則表示式(x>=y&& ch < ‘A’ && !y)的值是 ( )
A. 0 B. 語法錯 C. 1 D.“假”
5、若用陣列名作為函式呼叫的實參,傳遞給形參的是 ( )
A.陣列的首地址 B.陣列第一個元素的值
C.陣列中全部元素的值 D.陣列元素的個數
6、設有說明:char w;int x;float y;double z;則表示式w*x+z-y值的資料型別是( )
A.float B.char C.int D.double
7、設int a1=7,a2=1,x;進行操作x=(a1<<1)&~(a2<<2)後x的值為( )
A.0 B.1 C.10 D.以上都錯
8、設有以下結構體定義:
struct student {
char name[10];
char sex;
int age;
}staff;
則下面的敘述不正確的是 ( )
A.struct是結構體型別的關鍵字 B.structstudent是結構體型別名
C.staff 是使用者定義的結構體型別名 D.name,sex和age都是結構體成員名
9、若有以下定義:chars[10]=“include”,*p=s;則不能代表字元u的表示式是( )
A.s[4] B.s+4 C.*(p+4) D.p+=4,*p
10、以下正確的描述是 ( )
A.continue語句的作用是結束整個迴圈的執行
B.break語句只用在迴圈語句和switch語句中
C.在迴圈體內使用break語句或continue語句的作用相同
D.從多重迴圈巢狀中退出時只能使用goto語句
二、填空題。本題共10小題,每小題2分,滿分20分
1、C語言中的識別符號只能有三種字元組成,它們是字母、 和 。
2、假設m是一個三位數,用a、b、c表示各位的數字,則從左到右各個數字是bac的三位數的表示式是 。
3、若有定義:int b=7;float a=2.5,c=4.7,則表示式a+(int)(b/3*(int)(a+c)/2)%4的值為 。
4、設x是一個16位整數,若要通過x | y運算使x低8位置1,高8位不變,則y的八進位制數是 。
5、函式swap(int x,int y)可以完成對x和y值的交換,若a=1,b=2,則執行完swap(a,b);語句後,a和b的值分別為 和 。
6、與表示式x*=y-2等價的另一種書寫形式為 。
7、設有int a=1,b=2,c=3,d=4,m=2,n=2;則執行(m=a>b) && (n=c>d)後n的值為 。
8、如果要定義一個檔案型指標fp,應該使用的定義語句是 。
9、判斷字串s1是否大於字串s2,應當使用 命令。10、若有如下定義:int m[]={4,1,2,8,2,0,7,5,1,3},則陣列元素m[m[4]+m[8]]的值是 ,*m+m[9]的值是 。
三、判斷題:本題共10小題,每小題1分,滿分10分
1、若巨集定義為#definef(x) x*x,則f(3+4)的值為49。 ( )
2、字串“china”在記憶體中佔5個位元組。 ( )
3、inta=b=c=3;是正確的變數定義。 ( )
4、從變數的作用域來分,變數可分為全域性變數和區域性變數。 ( )
5、邏輯運算子的優先順序都低於算術運算子。 ( )
6、定義二維陣列並進行了初始化,第一維的長度可以省略。 ( )
7、開啟檔案的函式是fclose()。 ( )
8、外部變數必須定義在檔案的開頭。 ( )
9、字元‘\0’是字串的結束標誌,其ASCII程式碼為0。 ( )
10、呼叫strlen(“abc\0ef\0g”)的返回值是8。 ( )
四、應用題,本題共6小題,滿分35分
1、寫出下列程式的執行結果(6分)
#include <stdio.h>
int func(int a)
{ intb=0;
static int c=3;
b++; c++;
return a+b+c;
}
void main()
{
int a=2,i;
for( i=0; i<3; i++)
printf(“%3d”, func(a));
}
2、寫出下列程式的執行結果(5分)
#include <stdio.h>
int func(int x)
{ int y;
if(x==0 || x==1)
y=3;
else y=x-func(x-2);
return y;
}
void main()
{ printf(“%d\n”, func(9));
}
3、寫出下列程式的執行結果(6分)
#include <stdio.h>
void main()
{ int i;
for(i=1; i<5;i++)
switch (i%5)
{
case 0: printf(“*”);break;
case 1: printf(“*”);break;
default: printf(“\n”);
case 2: printf(“&”);
}
}
4、寫出下列程式的執行結果(6分)
#include<stdio.h>
void func(int *p)
{ while(*p != -999)
{ if( *p%2==0 )
printf(“%4d”, *p);
p++;
}
}
void main()
{ inta[]={10,32,13,24,45,96,17,-999};
inti, *pa=a;
for(i=0; a[i]!= -999;i++ )
printf(“%3d”,a[i]);
printf(“\n”);
func(pa);
}
5、下列程式的功能是求1!+2!+…+n! > 2000的最小n值,請填空:(6分)
#include <stdio.h>
void main()
{ int i, j, s=0, k;
for( i=1; i<20; i++ )
{ k=1;
for( j=1; j<=i; j++ )
(1) ;
s= s+ (2) ;
if( s>2000 )
(3) ;
}
printf(“i=%d\n”, i);
}
填空:(1)
(2)
(3)
6、下列程式的功能是生成並列印某數列的前20項,該數列的第1、2項分別為0和1,以後每個奇數編號的項是前兩項之和,偶數編號的項是前兩項差的絕對值,生成的20個數存放在陣列a中,並按每行4項輸出,請填空:(6分)
#include <stdio.h>
void main()
{ int a[21], i, j;
a[1]=0; a[2]=1;
i=3;
do
{ a[i]= (1) ;
a[i+1]= (2) ;
i= (3) ;
}while( i<20 );
for( i=1; i<=20; i++)
{ printf(“%5d”, a[i]);
if( i%4==0 )
Printf(“\n”);
}
}
填空:(1)
(2)
(3)
五、程式設計題,本題共2小題,滿分15分。
1、輸入50個0到4之間的整數,程式設計統計每個整數的個數,並輸出。(5分)
2、輸入10個學生的學號和三門課成績,求每個學生三門課的總成績,並按總成績從高到低的順序輸出。(10分)
相關文章
- C語言模擬試題1C語言
- C語言模擬試題2C語言
- C語言模擬試題3C語言
- C語言模擬試題5C語言
- C語言模擬試題6C語言
- C語言上機測試模擬題-1C語言
- C語言上機測試模擬題2C語言
- C語言50題之模擬實現atof、atoiC語言
- C語言實戰!!!:商城系統模擬C語言
- 關於c語言模擬c++的多型C語言C++多型
- c語言模擬Python的命名引數C語言Python
- (C語言)簡單明瞭的 陣列模擬棧+ (C++)陣列模擬棧C語言陣列C++
- C語言的考試題型C語言
- PAT-B 1059 C語言競賽【模擬】C語言
- C語言考試題及答案(一)C語言
- ChatGPT模擬Go語言面試 (一次小的測試)ChatGPTGo面試
- C語言50題之百度筆試題C語言筆試
- 標準C語言4C語言
- C語言必須掌握的判斷題 | 4C語言
- C#專案—模擬考試C#
- C語言指標和陣列筆試題C語言指標陣列筆試
- 自己用C語言寫的一個模擬退火演算法C語言演算法
- 初三奧賽模擬測試4
- c語言與字串相關的庫函式的模擬實現C語言字串函式
- 模擬實現不受限制的字串函式--C語言版字串函式C語言
- 作業系統:程式狀態轉換模擬,C語言實現作業系統C語言
- 資料結構之C語言模擬整數陣列實現資料結構C語言陣列
- 簡單機器語言的模擬 (轉)
- 試題 演算法提高 質數2(C語言)演算法C語言
- 程式設計師C語言經典筆試題程式設計師C語言筆試
- C語言單元測試C語言
- C語言字串例題C語言字串
- C語言的謎題C語言
- 一套幫助你理解 C 語言的測試題
- 大語言模型能用作世界模擬器嗎?模型
- noip模擬4
- 2020年C證(安全員)考試總結及C證(安全員)模擬試題
- 《明解C語言》練習題4-2的實現C語言