當前位置:首頁 » 編程語言 » 小學c語言試卷
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

小學c語言試卷

發布時間: 2022-01-26 04:34:50

c語言試卷

才30分……,覺得答得好多多加分!你的鼓勵是我努力的方向!o(∩_∩)o...哈哈
二、選擇題(每題3分,共45分)
1. 定義一個變數使之保存值的范圍是0-65535,應該選擇(A )類型。
A.unsigned short int B. int
C.short int D.long int

2. 設x、y、z都是整型變數,x、y的初值都是5,執行z=(++x)+(y- -)+1後,x、y、z三變數的值按順序是(D )。
A.5, 5, 11 B.6, 6, 13 C.4, 6, 12 D.6, 4, 12

3.下列字元中不屬於轉義字元的是(D )
A. \n B.\t C.\b D.\k

4.下列不正確的標識符是(B )
A._char B.a?b C.x D.st2_flag

5. C語言的源程序(C )主函數
A. 可以沒有 B.可以有多個
C.有且只有一個 D.若有,只有一個

6. 在內存中應該開辟(A )多少個位元組來存放字元『\n』.
A. 1 B. 2 C. 3 D. 4

7. 下面的(C )不是合法的c語言常量。
A. 123 B.『M』 C.0892 D. 「Flag」

8. 下面( A)對變數的說明是錯誤的。
A. char c1, int x; B. int a,b; float x, y;
C. int a; int b; D. char c1; int x;

9. 有變數說明int a=3;, 則表達式a<1&&--a>1的運算結果和a的值應該是(A )
A. 0和2 B. 0和3 C. 1和2 D. 1和3

10. 設int x=12;, 則執行完語句a+=a-=a*a; 後,a的值是(C ) //應該是a=12
A. 552 B. 264 C. -264 D. 144

11. c語言中,運算對象必須是整型數的運算符是( ) //題目有問題,選項C是什麼東東??
A. % B. / C. %和\ D. %和/

12. 以下關於break語句的描述,只有(C )是正確的。
A. 在循環語句中必須使用break語句。
B. break語句只能用於switch語句中。
C. 在循環語句中可以根據需要使用break語句。
D. break語句可以強制跳出所有循環。

13. 下面的敘述中,不正確的是(A )
A. 在main函數中說明的變數的作用域是整個程序。
B. 全局變數在程序運行期間一直佔用分配給它的存儲單元。
C. 形式參數是局部變數。
D. return()語句中括弧內可以是常量、有確定值的變數或表達式。

14. 定義函數時,默認的函數類型是(A )
A. auto B. register C. static D. extern

15. c語言中的函數(B )
A. 可以嵌套定義 B. 嵌套調用和遞歸調用均可
C. 不可以嵌套調用 D. 可以嵌套調用,但不可以遞歸調用

三、閱讀下列程序,寫出執行結果(每題5分,共15分)
1.#include<stdio.h>
main()
{
int x,m,n,a,b;
m=n=a=b=8;
x=(m=a>b)&&(n=a>b);
printf(「x=%d, m=%d, n=%d\n」,x,m,n);
}
答:
x=0,m=0,n=8

2. #include<stdio.h>
main()
{
int a,b,c;
a=2;b=3;c=1;
if(a>b)
if(a>c)
printf(「%d\n」,a);
else
printf(「%d\n」,b);
printf(「end\n」);
}
答:
end

3.#include<stdio.h>
main()
{
int s=0,k;
for(k=7;k>=0;k--)
{
switch(k)
{
case 1;
case 4;
case 7;
s++;
break;
case 2;
case 3;
case 6;
Break;
case 0;
case 5;
s+=2;
break;
}
}
printf(「s=%d\n」,s)
}
答:
S=7

四、程序設計題(每題10分,共20分)
1.整形數組a有五個元素,其值分別為:1、2、3、4、5,移動該數組的數,使其變成2、3、4、5、1
#include <stdio.h>
Main{
Int i,temp;
Int a[5]={1,2,3,4,5};
temp=a[0];
for(i=0;i<4;i++)
{
a[i]=a[i+1];
}
a[4]=temp;
}
}

2. 用戶從鍵盤輸入一個字元串(字元中不包含空格),當輸入回車時認為輸入結束,統計輸入字元串中小寫英文字母、大寫英文字母、數字字元、其他字元的個數
#include "stdio.h"
#include "string.h"

void main()
{
int i=0;//小寫英文字母數量
int j=0;//大寫英文字母數量
int k=0;//數字字元數量
int others=0;//其他字元數量
char temp;//接收字元。
int tempcounter;
printf("Please input the string") ;
for(tempcounter=0;;tempcounter++)
{ scanf("%c",&temp);
if(temp=='\n')
break;
else
{
if((temp>='a')&&(temp<='z'))
{
i=i+1;
continue;
}
if((temp>='A')&&(temp<='Z'))
{
j=j+1;
continue;
}
if((temp>='0')&&(temp<='9'))
{
k=k+1;
continue;
}
others=others+1;
}
}
printf("小寫英文字母數量: %d\n",i);
printf("大寫英文字母數量: %d\n",j);
printf("數字數量: %d\n",k);
printf("其他: %d\n",others);
}

❷ C語言試卷題目,有圖,試卷答案是C,但沒有過程,不懂怎麼得來,希望能給過程,能詳細一些,謝謝

首先你要明白switch語句的用法,當變數表達式所表達的量與其中一個case語句中的常量相符時,就執行此case語句後面的語句,並依次下去執行後面所有case語句中的語句,除非遇到break;語句跳出switch語句為止。如果變數表達式的量與所有case語句的常量都不相符,就執行default語句中的語句。
這時候程序in的值是3,out也是3,out+=3相當於out = out + 3代入就是out=3+3,此時out等於6,此時沒有break繼續往下,out++相當於out自增,就是out + 1,此時Out等於7,繼續往下走,又遇到out++,此時Out=8遇到break退出,不執行out = 0,所以最後out的值為8

❸ 用c語言編寫 小學數學考試題

#include "stdafx.h"
#include <stdlib.h>
#include <memory.h>
#include <assert.h>
#include <time.h>

typedef struct Equ // 一個表達式結構體.
{
int x;
int y;
char sig;
}EQU;

const unsigned int NUM = 5; // 生成試題量
EQU equ[NUM]; // 表達式數組
float UserAnswer[NUM]; // 用戶給的答案
float RightAnswer[NUM]; // 正確答案
bool UserScore[NUM]; // 用戶每次正誤
char SIG[4] = {'+', '-', '*', '/'};

void GenerateQuestion(unsigned int num = NUM); // 生成試題
void CalculateRightAnswer(unsigned int num= NUM); // 計算正確答案
void Ask(unsigned int num = NUM); // 測試
void AskAnswer(unsigned int i); // 測試第i道題
void DisplayResult(unsigned int num = NUM); // 顯示測試結果
void DisplayResultAnswer(unsigned int i); // 顯示第i道題
int main(int argc, char* argv[])
{
GenerateQuestion();
CalculateRightAnswer();
Ask();
DisplayResult();

return 0;
}

void DisplayResult(unsigned int num /* = NUM */)
{
assert(num<=NUM);

printf("\n\nThis Test Result:\n");
unsigned int i=0;
for (i=0; i<num; ++i)
{
DisplayResultAnswer(i);
}

int score = 0;
for(i=0; i<num; ++i)
{
if (UserScore[i])
{
++score;
}
}
printf("本次測試總分: %d\n\n", score*10);
}

void DisplayResultAnswer(unsigned int i)
{
assert(i<NUM);

printf("第%d題: %d %c %d = ?", i, equ[i].x, equ[i].sig, equ[i].y);
printf(" Your Ans: %f, Right Ans: %f", UserAnswer[i], RightAnswer[i]);
UserScore[i] ? printf(" Get 10 score.\n") : printf(" Miss 10 score.\n");
}

void Ask(unsigned int num)
{
assert(num<=NUM);

unsigned int i=0;
for (i=0; i<num; ++i)
{
AskAnswer(i);
printf("\n");
}
}

void AskAnswer(unsigned int i)
{
assert(i<NUM);

printf("第%d題: %d %c %d = ? ", i, equ[i].x, equ[i].sig, equ[i].y);
scanf("%f",&UserAnswer[i]);

if (UserAnswer[i] == RightAnswer[i])
{
UserScore[i] = true;
printf("good, you get ten score, come on!\n");
}
else
{
UserScore[i] = false;
printf("sorry, you make a mistake, be careful!\n");
}
}

void GenerateQuestion(unsigned int num)
{
assert(num <= NUM);
srand( (unsigned)time( NULL ) );

unsigned short i=0;
for (i=0; i<num; ++i)
{
equ[i].x = 1+rand()%100; // 1 ~ 100
equ[i].y = 1+rand()%100; // 1 ~ 100
equ[i].sig = SIG[rand()%4]; // 0 ~ 4
}
}

void CalculateRightAnswer(unsigned int num)
{
assert(num <= NUM);
unsigned short i=0;
for (i=0; i<num; ++i)
{
switch (equ[i].sig)
{
case '+':
RightAnswer[i] = float(equ[i].x + equ[i].y);
break;
case '-':
RightAnswer[i] = float(equ[i].x - equ[i].y);
break;
case '*':
RightAnswer[i] = float(equ[i].x * equ[i].y);
break;
case '/': // 因為全部是1~100,所以y!=0
RightAnswer[i] = float(equ[i].x / equ[i].y);
break;
}
}
}

❹ 用C語言編寫「小學數學考試」

保留歷史記錄這個,還是挺復雜的。。。。。
你要這個幹啥

❺ c語言基本測試卷..跪求

二級公共基礎知識考試大綱

基本要求

1. 掌握演算法的基本概念。

2. 掌握基本數據結構及其操作。

3. 掌握基本排序和查找演算法。

4. 掌握逐步求精的結構化程序設計方法。

5. 掌握軟體工程的基本方法,具有初步應用相關技術進行軟體開發的能力。

6. 掌握數據的基本知識,了解關系資料庫的設計。

考試內容

一、 基本數據結構與演算法

1. 演算法的基本概念;演算法復雜度的概念和意義(時間復雜度與空間復雜度)。

2. 數據結構的定義;數據的邏輯結構與存儲結構;數據結構的圖形表示;線性結構與非線性結構的概念。

3. 線性表的定義;線性表的順序存儲結構及其插入與刪除運算。

4. 棧和隊列的定義;棧和隊列的順序存儲結構及其基本運算。

5. 線性單鏈表、雙向鏈表與循環鏈表的結構及其基本運算。

6. 樹的基本概念;二叉樹的定義及其存儲結構;二叉樹的前序、中序和後序遍歷。

7. 順序查找與二分法查找演算法;基本排序演算法(交換類排序,選擇類排序,插入類排序)。

二、 程序設計基礎

1. 程序設計方法與風格。

2. 結構化程序設計。

3. 面向對象的程序設計方法,對象,方法,屬性及繼承與多態性。

三、 軟體工程基礎

1. 軟體工程基本概念,軟體生命周戎概念,軟體工具與軟體開發環境。

2. 結構化分析方法,數據流圖,數據字典,軟體需求規格說明書。

3. 結構化設計方法,總體設計與詳細設計。

4. 軟體測試的方法,白盒測試與黑盒測試,測試用例設計,軟體測試的實施,單元測試、集成測試和系統測試。

5. 程序的調試,靜態調試與動態調試。

四、 資料庫設計基礎

1. 資料庫的基本概念:資料庫,資料庫管理系統,資料庫系統。

2. 數據模型,實體聯系模型及E-R圖,從E-R圖導出關系數據模型。

3. 關系代數運算,包括集合運算及選擇、投影、連接運算,資料庫規范化理論。

4. 資料庫設計方法和步驟:需求分析、概念設計、邏輯設計和物理設計的相關策略。

考試方式

1、 公共基礎的考試方式為筆試,與C語言(VisualBASIC、Visual FoxPro、Java、Access、Visual C++)的筆試部分合為一張試卷。公共基礎部分佔全卷的30分。

2、 公共基礎知識有10道選擇題和5道填空題。

二級(C語言程序設計)考試大綱

公共基礎知識

二級考試大綱中的公共基礎知識部分

基本要求

1. 掌握演算法的基本概念。

2. 掌握基本數據結構及其操作。

3. 掌握基本排序和查找演算法。

4. 掌握逐步求精的結構化程序設計方法。

5. 掌握軟體工程的基本方法,具有初步應用相關技術進行軟體開發的能力。

6. 掌握數據的基本知識,了解關系資料庫的設計。

考試內容

一、 基本數據結構與演算法

1. 演算法的基本概念;演算法復雜度的概念和意義(時間復雜度與空間復雜度)。

2. 數據結構的定義;數據的邏輯結構與存儲結構;數據結構的圖形表示;線性結構與非線性結構的概念。

3. 線性表的定義;線性表的順序存儲結構及其插入與刪除運算。

4. 棧和隊列的定義;棧和隊列的順序存儲結構及其基本運算。

5. 線性單鏈表、雙向鏈表與循環鏈表的結構及其基本運算。

6. 樹的基本概念;二叉樹的定義及其存儲結構;二叉樹的前序、中序和後序遍歷。

7. 順序查找與二分法查找演算法;基本排序演算法(交換類排序,選擇類排序,插入類排序)。

二、 程序設計基礎

1. 程序設計方法與風格。

2. 結構化程序設計。

3. 面向對象的程序設計方法,對象,方法,屬性及繼承與多態性。

三、 軟體工程基礎

1. 軟體工程基本概念,軟體生命周戎概念,軟體工具與軟體開發環境。

2. 結構化分析方法,數據流圖,數據字典,軟體需求規格說明書。

3. 結構化設計方法,總體設計與詳細設計。

4. 軟體測試的方法,白盒測試與黑盒測試,測試用例設計,軟體測試的實施,單元測試、集成測試和系統測試。

5. 程序的調試,靜態調試與動態調試。

四、 資料庫設計基礎

1. 資料庫的基本概念:資料庫,資料庫管理系統,資料庫系統。

2. 數據模型,實體聯系模型及E-R圖,從E-R圖導出關系數據模型。

3. 關系代數運算,包括集合運算及選擇、投影、連接運算,資料庫規范化理論。

4. 資料庫設計方法和步驟:需求分析、概念設計、邏輯設計和物理設計的相關策略。

考試方式

1、 公共基礎的考試方式為筆試,與C語言(VisualBASIC、Visual FoxPro、Java、Access、Visual C++)的筆試部分合為一張試卷。公共基礎部分佔全卷的30分。

2、 公共基礎知識有10道選擇題和5道填空題。

C語言程序設計

基本要求

1.熟悉TURBO C集成環境。

2.熟練掌握結構化程序設計的方法,具有良好的程序設計風格。

3.掌握程序設計中簡單的數據結構和演算法。

4.TURBO C的集成環境下,能夠編寫簡單的C程序,並具有基本的糾錯和調試程序的能力。

考試內容

一、C語言的結構

1.程序的構成,MAIN函數和其他函數。

2.頭文件,數據說明,函數的開始和結束標志。

3.源程序的書寫格式

4.C語言的風格。

二、數據類型及其運算

1.C的數據類型(基本類型,構造類型,指針類型,空類型)及其定義方法。

2.C運算符的種類、運算優先順序和結合性。

3.不同類型數據間的轉換與運算。

4.C表達式類型(賦值表達式、算術表達式、關系表達式、邏輯表達式、條件表達式、逗號表達式)和求值規則。

三、基本語句

1.表達式語句,空語句,復合語句。

2.數據的輸入和輸出,輸入輸出函數的調用。

3.復合語句。

4.GOTO語句和語句標號的使用。

四、選擇結構程序設計

1.用if語句實現選擇結構。

2.用switch語句實現多分支選擇結構。

3.選擇結構的嵌套。

五、循環結構程序設計

1.for 循環結構。

2.while和do while循環結構。

3.continue語句和break語句。

4.循環的嵌套。

六、數組的定義和引用

1.一維數組和多維數組的定義、初始化和引用。

2.字元串與字元數組。

七、函數

1.庫函數的正確調用。

2.函數的定義方法。

3.函數的類型和返回值。

4.形式參數與實在參數,參數值的傳遞。

5.函數的正確調用,嵌套調用,遞歸調用。

6.局部變數和全局變數。

7.變數的存儲類別(自動、靜態、寄存器、外部),變數的作用域和生存期。

8.內部函數與外部函數。

八、編譯預處理

1.宏定義:不帶參數的宏定義;帶參數的宏定義。

2.「文件包含」處理。

九、指針

1.指針與指針變數的概念,指針與地址運算符。

2.變數、數組、字元串、函數、結構體的指針以及指向變數、數組、字元串、函數、結構體的指針變數。通過指針引用以上各類型數據。

3.用指針作函數參數。

4.返回指針值的指針函數。

5.指針數組,指向指針的指針,MAIN函數的命令行參數。

十、結構體(即「結構」)與共用體(即「聯合」)

1.結構體和共用體類型數據的定義方法和引用方法。

2.用指針和結構體構成鏈表,單向鏈表的建立、輸出、刪除與插入。

十一、位運算

1.位運算符的含義及使用。

2.簡單的位運算。

十二、文件操作

只要求緩沖文件系統(即高級磁碟I/O系統),對非標准緩沖文件系統(即低級磁碟I/O系統)不要求。

1.文件類型指針(FILE類型指針)。

2.文件的打開與關閉(fopen,fclose)。

3.文件的讀寫(fputc,fgetc,fputs,fgets,fread,frwite,fprintf,fscanf函數),文件的定位(rewind,fseek函數)。

考試方式

1.筆試:120分鍾,滿分100分,其中含公共基礎知識部分的30分。

2.上機:60分鍾,滿分100分。

❻ c語言小學生測驗

#include
#include
#include
int main(){
srand(time(NULL));
int a,b,c,score[10],trueValue,sum=0;
for(int i=0;i<10;i++){
for(a=rand()%51,b=rand()%51;a+b>50 || a+b50 || a-b<0; a=rand()%51,b=rand()%51){;}
c=rand()%3;
for(int j=0;j<3;j++){
if(c==1){
printf("%d:%d+%d=",i+1,a,b);
trueValue=a+b;
scanf("%d",&score[i]);
if(score[i]!=trueValue){
printf("答案錯誤,請重新輸入.\n");
score[i]=0;
}
else{
if(j==0){
score[i]=10;
}
else if(j==1){
score[i]=7;
}
else{
score[i]=5;
}
break;
}
}
else{
printf("%d:%d-%d=",i+1,a,b);
trueValue=a-b;
scanf("%d",&score[i]);
if(score[i]!=trueValue){
printf("答案錯誤,請重新輸入.\n");
score[i]=0;
}
else{
if(j==0){
score[i]=10;
}
else if(j==1){
score[i]=7;
}
else{
score[i]=5;
}
break;
}

}
}
if(score[i]==0){
printf("正確答案是:%d\n",trueValue);
}
sum=sum+score[i];
}
printf("你的成績是:%d\n",sum);
if(sum>90){
printf("SMART.\n");
}
else if(sum>=80){
printf("GOOD.\n");
}
else if(sum>=70){
printf("OK.\n");
}
else if(sum>=60){
printf("PASS.\n");
}
else{
printf("TRYAGAIN\n");
}
return 0;
}

❼ C語言程序設計 小學生測驗

你好!
· 小涵系列1108 的回答很細了,自己修改一下程序吧,有問題私信聯系

❽ C語言程序設計:小學生測驗

#include<stdlib.h>
#include<stdio.h>
#include<conio.h>

void main()
{
int num=0,err=0; /* 答題數,錯誤數 */

while(1)
{
int a=0,b=0,d=0,c=0,i=0,result;
char sf[2]={'+','-'};
/* 出題 */
while(1)
{
a=rand()%51;
b=rand()%51;
d=rand()%2;
if(d==0)c=a+b;
else c=a-b;
if(c>=0 && c<=50)break;
}
printf("%d %c %d = \n",a,sf[d],b);
/* 回答 */
printf("輸入計算結果:\n");
while(1)
{
scanf("%d",&result);
i++;
if(result==c)
{
printf("回答正確!\n");
break;
}
else if(i<3)
{
printf("錯誤,請重新回答:\n");
}
else
{
err++;
break;
}
}
num++;
if(num==10)break;
}
printf("\n得分:%d 正確率:%d%\n",100-err*10,100-err*10);
getch();
}

❾ c語言試卷

樓主採納我吧,95分沒問題,懶得敲可以直接下txt~~~~heihei

(1).函數
(2). int (3). short int
(4). 字母或下劃線 (5) 數字 (6)下劃線 (7.)255 (8) 分號;

(9) 'B' (10) 0x42

(11) 單精浮點數 (12) 雙精浮點數

(13) 4個 (14) 8個

(15) 右 (16) 左

(17) -(++I) (18) 大寫字母『C』

(19) 當循環 (20) 先執行循環,後判斷條件

(21) 循環體 (22) 開關語句

(23) for (24) 循環

(25) 回車時 (26) 10

(27) 20 (28) (int)(x+3.0)

(29) 12回車345回車187回車 (30) if

(c1>='a'&&c1<='z')


選擇題

1-5 DBDAC

6-10 CAACC

判斷題

1—5 對錯對對錯
6-10 錯對錯對錯

計算結果題:

1. 32

2. 18,30

3. 66 C

3.400000,7.640000

4. i=-4,j=5,k=6

5. x=10,y=20

6. 852

7. x=3,y=1

8. 16
9.a=2 ,b=8

10.列印
****
****
****
11.輸出 a=14,b=14,c=3
12.輸出 s=33,i=4
編程題

#include 「stdio.h」
void main()
{
int c,k,zhouchang;
c=5;
k=3;
zhouchang=c*k;
printf("zhouchang is %d ",zhouchang);

}
第二題
#include "stdio.h"
void main()
{
double x,y

scanf("%ld",&x);
if(x<=10)
y=x;
else if(x<50)
y=2*x+6;
else
y=3*x-15;

printf("%.2f",y);

}

第三題

#include "stdio.h"
void main()
{
int i,s=0
for(i=2;i<=100;i+=2)
{
s+=i;
}
printf("%d ",s);
}

❿ 用C語言 給小學生出加法考試題

#include <stdlib.h>
#include <stdio.h>

int AddTest(int a,int b)
{
int answer;
printf("Please input the answer:");
scanf("%d",&answer);
if(answer==a+b){
printf("Right!\n");
return 1;}
else{
printf("Not correct!\n");
return 0;}
}

int main()
{
int i,j,k,m,sum=0,wsum=10;
for(k=0;k<10;k++){
i = rand()%10+1;
j = rand()%10+1;
printf("i=%d,j=%d\n",i,j);
m = AddTest(i,j);
sum+=m*10;
wsum-=m;
}
printf("The score is %d,and the wrong number is %d\n",sum,wsum);
return 0;
}
四則運算題可以產生隨機數之後按其%4+1的結果來控制產生隨機的四種運算,其他地方類似