寧波大學c語言題庫
❶ c語言題庫
給我郵箱 發給你 是C語言題庫 但不是上海海事大學的
❷ 誰有大一C語言考試題快考試了,跪求題庫··
一、單項選擇題(每小題2分,共50分)
1、一個C程序的執行是從___A__。
A、本程序的main函數開始,到main函數結束
B、本程序的main函數開始,到本程序文件的最後一個函數結束
C、本程序文件的第一個函數開始,到本程序文件的最後一個函數結束
D、本程序文件的第一個函數開始,到本程序main函數結束
2、C語言程序的基本單位是___C___。
A、程序行 B、語句
C、函數 D、字元
3、請選出可用作C語言用戶標識符的一組標識符___B___。
A、void B、a3_b3 C、For D、2a
define _123 -abc DO
WORD IF ase sizeof
4、假定x和y為double型,則表達式(x=2,y=x+5/2)的值是__C__ 。
A、4.500000 B、4
C、4.000000 D、2.000000
5、下列可以正確表示字元型常量的是___D__。
A、297 B、"a"
C、"\n" D、'\t'
6、在C語言中,要求運算數必須是整型的運算符是__D__。
A、/ B、++
C、*= D、%
7、C語言中,復合語句的構成是將一系列語句置於__C__。
A、begin與end之間
B、方框號「[ ]」之間
C、花括弧「{ }」之間
D、圓括弧「( )」之間
8、有如下程序段,對應正確的數據輸入是___A___。
float x,y;
scanf(」%f%f」, &x,&y);
printf(」a=%f,b=%f」, x,y);
A、2.04<回車> B、2.04,5.67<回車>
5.67<回車>
C、A=2.04,B=5.67<回車> D、2.045.67<回車>
9、以下程序段的輸出結果是___D__。
int a=5678;
printf(」%2d\n」, a);
A、提示出錯、無結果 B、56
C、78 D、5678
10、已知:char ch='A';則下列表達式的值是__B__。
ch = (ch>='A'&&ch<='Z') ? (ch+32) : ch;
A、A B、a C、Z D、z
11、下列描述,正確的是___B__ 。
A、表達式3.91%5是合法的
B、用b=89作為while循環的條件是合法的
C、逗號表達式是沒有值和類型的
D、字元型變數和int型變數的操作完全不同
12、閱讀以下程序:
main()
{int x;
scanf("%d",&x);
if(x--<5) printf("%d",x);
else printf("%d",x++);
}
程序運行後,如果從鍵盤上輸人5,則輸出結果是__B__ 。
A、3 B、 4 C、 5 D、 6
13、下列程序的運行結果是___C__。
#include 」stdio.h」
main()
{ int k;
k=3;
switch(k)
{ case 1: printf(」%d\n」, k++);
case 2: printf(」%d\n」, k++);
case 3: printf(」%d\n」, k++);
case 4: printf(」%d\n」, k++);
break;
default: printf(」Full!\n」);
}
}
A、3 B、4 C、3 D、4
4 4
14、設a、b、c、d、m、n均為int型變數,且a=5、b=6、c=7、d=8、
m=2、n=1,則邏輯表達式(m==a<b)&&(n==c<d) 的值為__A__。
A、0 B、 1 C、2 D、 3
15、設x、y和temp均為long int型變數,則以下語句:
{temp=x; x=y; y=temp;} 的功能是__D__。
A、把x和y按從大到小排列
B、把x和y按從小到大排列
C、無確定結果
D、交換變數x和變數y的值
16、以下程序的輸出結果是 ___A__ 。
main()
{int a, b;
for(a=1, b=1; a<=100; a++)
{if(b>=10) break;
if (b%3==1)
{ b+=3; continue; }
}
printf("%d\n",a);
}
A、4 B、6 C、5 D、101
17、執行以下程序後輸出的結果是___D__。
main()
{ int y=10;
do {y--;}
while(--y);
printf("%d\n",y--);}
A、-1 B、1 C、8 D、0
18、執行以下程序後輸出的結果是___B__。
main()
{int i, j, w=0;
for(i=4; i; i--)
for(j=1;j<=2;j++)
w=w+i*j; w=i*j;
printf("%d\n",w);
}
A、4 B、0 C、1 D、30
19、以下程序運行後,輸出結果是__C__。
main()
{
int n[5]={3,3,3},i,k=2;
for(i=0;i<k;i++) n[i]=n[i]+1;
printf("%d\n",n[k]);
}
A、4 B、9 C、3 D、不確定的值
20、以下程序的輸出結果是 __A__ 。
f ( int a)
{int b=0;
static int c = 3;
b++; c++;
return(a+b+c);
}
main()
{int a = 2, i;
for(i=0;i<3;i++) printf("%d\n",f(a));
}
A、 7 B、 7 C、 7 D、 7
8 9 10 7
9 11 13 7
21、設C程序如下:
#define ABC(x) x*x
#include"stdio.h"
main()
{int a=3,b;
b=ABC(a+1);
printf("b=%d", b); }
上述程序運行輸出的結果是__D_ 。
A、b=4 B、b=a+1
C、b=16 D、b=7
22、以下程序的輸出結果是__B__。
main()
{int i, a[10];
for(i=9;i>=0;i--) a[i]=10-i;
printf("%d %d %d",a[1],a[6],a[9]);
}
A、1 6 9 B、9 4 1
C、9 6 1 D、3 5 7
23、若定義:float x=3.14159,*p=&x;
則printf("%f\n",*p++);的輸出結果為__C__ 。
A、無確定值 B、x的地址
C、3.14159 D、4.14159
24、以下程序的輸出結果是___B__
main()
{char b[]="Language";
char *p=b;
printf("%c ",*(b+2));
p=p+7;
printf("%c\n",*p++);
}
A、2 7 B、n e C、a g D、n u
25、下列程序的輸出結果是___A__。
#include "stdio.h"
main()
{
int a[]={1,2,3,4,5,6,7,8,9,0}, i, s, *p;
p=a;s=0;
for(i=0;i<=9;i++)
s+=*p++;
printf("%d\n", s);
}
A、45 B、44 C、0 D、9
二、判斷題(每小題1分,共10分)
1.語句int *point;中的point是指針變數名。( T )
2.主函數和其它函數之間可以相互調用。( F )
3.puts( )和gets( )函數只能輸入或輸出一個字元。( F )
4. 可以對字元型數組元素進行整體輸入、輸出。( T )
5.do-while語句構成的循環不能用其他語句構成的循環來代替。( F )
6.在一個函數內的復合語句中定義的變數可以在本函數范圍內有效。(F )
7.函數必須有返回值,否則不能使用函數。( F )
8.for(;;);語句相當於while(1);語句。( T )
9.C程序的執行總是從第一個定義的函數開始。( F )
10.C語言中的關鍵字專門用作語言的特定成分,而不能作為一般標識符使用。( T )
三、程序填空題(每空2分,共10分)
1、下面程序完成判斷某一個數m是否為素數,如果是則輸出"m is a prime!",否則就輸出"m is not a prime!",請選擇填空。
main()
{ int i, m;
scanf("m=%d", &m);
for(i=2; i<m; i++)
{ if(m%i==0)
{ printf("%d is not a prime!\n", m); (1) }
else (2)
}
if(i==m) printf("%d is a prime!\n", m);
}
(1)、 A、break B、continue
C、break; D、continue;
(2)、 A、break B、break;
C、continue D、continue;
2、以下程序的功能是:求出用數字0至9組成沒有重復數字且是13倍數的三位數的個數,請選擇填空。
#include<stdio.h>
void main()
{ int i, j, k, w, count = 0;
for( (3) ; i<=9; i++)
for(j=0;j<=9; j++)
for(k=0; k<=9;k++)
if( (4) )
{ w = i*100+j*10+k;
if( (5) )
count++;
}
printf("\n count=%d\n", count);
}
(3)、 A、i=0 B、i=1
C、i=9 D、i=-1
(4)、 A、i!=j B、i!=j ||j!=k
C、i!=j&& j!=k D、i!=j&& j!=k && k!=i
(5)、 A、w%13=0 B、w/13=0
C、w%13==0 D、w/13==0
四、編程題(第1小題12分,第2小題18分,共30分)
1、從鍵盤輸入一個4位數的正整數n,將該數反序輸出。例如,若輸入的是
1357,則輸出的是7531。
要求:1)利用VC++編譯系統進行調試、運行
2)對輸入的正整數n的合法性進行檢查
3)將源程序以「編程題1.c」為文件名保存在網路盤(K:盤)的考生文件夾上,用其它文件名保存或保存在其他地方均不能得分
2、已知一組字元串a[27]="jjyyzzabcdefgJJYYZZABCDEFG"; 請編一程序,將其 中的小寫字母換成其前一個字母,即z換成y,y換成x,...,b換成a,若是a則換成z。然後對數組a[27]從小到大排序,並輸出排序後的字元串。
要求:1)利用VC++編譯系統進行調試、運行
2)先輸出原字元串(即未做任何改變的字元串),最後輸出排序後
的字元串
3)將源程序以「編程題2.c」為文件名保存在網路盤(K:盤)的考生文件夾上,用其它文件名保存或保存在其他地方均不能得分
❸ 大一C語言期末考試求題庫
一、單項選擇題(共10題,每題2分,共20分。在備選答案中選擇一個最佳答案。多選、錯選、不選不得分)
1、不是C語言基本數據類型的是( )。
A、指針類型 B、整型
C、字元型 D、實型
2、設有:int a=3, b= 4, c= 5,x , y; 表達式0 && (x=a)&&(y=b)的值為( )。
A、1 B、0 C、3 D、4
3、設有語句 int a=3 ; 則執行了語句 a+=6;後,變數a 的值為( )。
A、18 B、-3 C、9 D、12
4、執行以下程序段後,輸出的y值為( )
void main()
{ int a[]={2,4,6,8,10};
int y, *p;
p=&a[0];
y=*p; printf(「%d」,y);
}
A、2 B、4 C、6 D、8
5、有定義語句:float a[4];則分配給數組a的內存空間為( )位元組。
A、 20 B、 12 C、 16 C、10
6、以下描述錯誤的是( )。
A、break語句可用於while語句。
B、break語句和continue語句的作用是一樣的。
C、在循環語句中使用break語句是為了跳出循環,提前結束循環。
D、在循環語句中使用continue語句是為了結束本次循環,而不終止整個循環。
7、C語言中規定,if語句的嵌套結構中,else總是( )。
A、與最近的if 配對 B、與第一個if 配對
C、按縮進位置相同的if配對 D、與最近的且尚未配對的if 配對
8、說明語句「int (*p)( ); 」的含義是( ) 。
A、p是一個指向一維數組的指針變數。
B、p是指針變數,指向一個整型數據。
C、p是一個指向函數的指針,該函數返回一個int型數據。
D、以上都不對。
9、以下對二維數組c的正確聲明是 ( ) 。
A、int c[3][ ]; B、int c(3,4);
C、int c(2)(2); D、int c[3][2];
10、下述程序段執行後輸出結果為( )。
int x=100, y=200;
printf ("% d", (x, y));
A、100 B、200 C、100,200 D、編譯出錯
二、填空題(共7題,共10空,每空1分,共10分。將答案填在題中橫線上)
1、C語言提供的三種邏輯運算符是 && 、 || 和!;
2、函數的返回值是通過函數中的 return 語句獲得的。
3、在"int a[ ][3]={{1},{3,2},{4,5,6},{0}};"定義後,a[2][2]的值為_6__ _;
4、對於"int *pa[5];" pa是一個具有5個元素的_數組指針_,每個元素是一個指向int型變數的__指針__;
5、單向鏈表的尾節點next指針應賦值__ NULL___;
6、在語句for(x=1,y=3;x>y;y++)中循環體執行的次數為 0 。
7、int a[5];數組a的首地址為2000,則元素a[1]的地址為 2002 ,元素a[2]的地址為 2004 。
三、程序填空題(共2題,共5空,每空4分,共20分)
1、以下程序完成計算1-1/2+1/3-1/4+1/5+……前n 項和,請填空。
#include <stdio.h>
int main( )
{ int i, n, flag;
float sum;
scanf("%d", &n);
flag= 1 ;
sum=0;
for(i=1;i<=n; i++ )
{ sum+=(float)flag/i;
flag=-flag ;
}
printf("%.3f\n", sum);
}
2、以下程序的功能是從鍵盤輸入n個整數,統計其中正數、0、負數的個數,請填空。
#include <stdio.h>
void main( )
{int a, i, count1,count2,count3;
count1=count2=count3=0 ;
for(i=1;i<=n;i++)
{ scanf(「%d」, &a);
if(a>0) count1++;
else if(a==0) count2++ ;
else count3++;
}
printf(「正數:&d個,零:%d個,負數:%d個\n」, count1,count2,count3 );
}
四、運行程序結果題(共4題,每題6分,共24分)
1、寫出程序運行結果。
void main( )
{ int x=1,y=2,t;
int *p1,*p2;
p1=&x; p2=&y;
t=*p1;*p1=*p2;*p2=t;
printf("x=%d,y=%d\n",x,y);
}
運行結果為:
程序有錯,不能運行!或寫:
x=2,y=1
2、寫出程序運行結果。
#include<stdio.h>
int max(int a,int b)
{ int c;
c=a>b?a:b;
return(c);
}
int min(int a,int b)
{int c;
c=a<b?a:b;
return(c);
}
void main()
{ int a=2,b=6;
printf("max=%d\n",max(a,b));
printf(「min=%d\n」,min(a,b));
}
運行結果為:
程序有錯,不能運行!或寫:
max=6
min=2
3、寫出程序運行結果。
#include <stdio.h>
void main()
{ int a[3][3]={1,2,3,4,5,6,7,8,9};
int i,j,sum=0;
for (i=0;i<3;i++)
for(j=0;j<3;j++)
if(i==j) sum=sum+a[i][j];
printf(「sum=%d\n」,sum);
}
運行結果為:
程序有錯,不能運行!或寫:
sum=15
4、寫出程序運行結果。
void main( )
{ int n,f;
n=1;
while(n<=10)
{ f=f*n;
n+=2;
}
printf(「f=%d\n」,&f);
}
運行結果為:
程序有錯,不能運行!或寫:
f=不確定
五、程序設計題(共2題,每題13分,共26分)
1、將一個數組按逆序存放,如元素1、2、3、4、5,按逆序存放後為5、4、3、2、1。
❹ 大學C語言試題
首先要了解全局變數和局部變數。
上面的int A=1,B=1;就是定義了兩個全局變數。
因為在函數dblB()中定義了局部變數 B,在C語言中函數會優先使用局部變數(記住這一原則),所以做運算的是那個局部變數B,由5乘2變為10。
全局變數B仍然等於1,並沒有發生變化,所以輸出的B為1。
望點贊!