1 . 設y是int型變量,請寫出判斷y爲奇數的關係表達 _y%2==0
--------------------------------------------------------------------
2. 以下程序運行後的輸出結果是__b_
main()
{ char m;
m='B'+32; printf("%c",m);
}
--------------------------------------------------------------------
3. 下列描述中不正確的是_C_。
A:字符型數組中可以存放字符串
B:可以對字符型數組進行整體輸入、輸出
C:可以對整型數組進行整體輸入、輸出
D:不能在賦值語句中通過賦值運算符"="對字符型數組進行整體賦值
--------------------------------------------------------------------
4. 定義數組 float f[]={2.1,8.2,3.6,4.9};float *fp=f;則*++fp等於(
8.2 ):
--------------------------------------------------------------------
5. 假設 int p1 = 200, p2 = 150, x =1150, y = 1150; 則表達式 ( y>x) && ( p1>p2) 的值是:0
--------------------------------------------------------------------
6. C語言中的基本數據類型包括(實型)( 整型 )(字符型)。
--------------------------------------------------------------------
7. 若有float f1=2.7,f2=13.5; float *fp=&f1;*fp/=4; fp=&f2;,則*fp的值是(13.5)
--------------------------------------------------------------------
8. 假設已經定義一個字符數組],賦給他的初值(xiaowang)的語句是(arr[10]={xiaowang} )
--------------------------------------------------------------------
9. 以下程序的輸出結果是__10 10 9 1____。
main()
{ int x=10,y=10,i;
for(i=0;x>8 ;y=++i)
printf("%d %d ",x--,y);
}
--------------------------------------------------------------------
10 選擇填空:輸入n和n個實數,找出他們的最大值和最小值,並將最大值和最小值輸出到文件c:\abc.txt中。
運行示例:
輸入n:5↙
輸入實數:4 56.8 78.0 13 -12↙
程序運行結束!
【程序】
#include <stdio.h>
#include <stdlib.h>
void main()
{ double x,a,b;
int i,n;
FILE *p;
if ((p=fopen( 1 ))==NULL)
{ printf("Open file is fail\n");
exit(0);
}
printf("輸入n:");
scanf("%d",&n);
printf("輸入實數: ");
scanf("%lf",&x);
2
for(i=0; i<n-1;i++){
scanf("%lf",&x);
if(a<x) a=x;
if (b>x) 3
}
4 ;
fclose(p);
}
(1) A、”c:\\abc.txt","w" B、”c:\\abc.txt","r"
C、”c:\\abc.txt","write" D、”c:\\abc.txt","read"
(2) A、a=b=0; B、a=b=x; C、a=0;b=x; D、 a=x;b=0;
(3) A、 x=b; B、b=x; C、a=b;
D、 b=a;
(4) A、fprintf(p,"max=%.1f,min=%.1f\n", a,b);
B、fprintf(abc.txt,"max=%.1f,min=%.1f\n", a,b);
C、printf(p,"max=%.1f,min=%.1f\n", a,b);
D、printf(abc.txt,"max=%.1f,min=%.1f\n", a,b);
--------------------------------------------------------------------
11. 選擇填空:定義判斷整數是否爲水仙花數的函數。利用判斷水仙花數的函數,求100~1000之間所有的水仙花數。水仙花數是指一個三位數,其各位數字的立方和等於該數本身,如:153=13+53+33
【程序】
#include<stdio.h>
void main()
{ int m;
int flower(int x);
for(m=100;m<1000;m++)
if ( 1 )
printf("水仙花數:%d\n",m);
}
2
{ int a,b,c,s;
a=x%10;
3
c=x/100;
s=a*a*a+b*b*b+c*c*c;
if (s==x) 4 ;
else return 0;
}
(1) A、flower(int m)==1 B、int flower(int m)==1
C、flower(m)==1 D、 flower(x)==1
(2) A、void flower(int x) B、int flower(int x,int s)
C、int flower(int x) D、void flower(int x,int s)
(3) A、 b=x%100%10 B、b=x%10/10 C、b=x/100%10 D、b=x/10%10
(4) A、return x; B、return 0; C、return -1; D、 return 1;
--------------------------------------------------------------------
12 填空:從小到大排序
int main(){
int myarr[10];
(空1)
scanf("%d", (空2) )
Bubble(myarr,11);
int i=0;
for(;i<11;i++){
printf("%d:%d\n",i,myarr[i]);
}
return 0;
}
void Bubble(int myarr[],int len){
int length=len;
int i=0;
int j=0;
for(;i<len;i++){
for(;j<length;j++){
if( (空3) ){
int temp=myarr[j];
(空4)
myarr[j+1]=temp;
}
}
length--;
j=0;
}
}
--------------------------------------------------------------------
13 填空:對輸入一個字符串,統計此字符串中字母,數字,空格,和其它符號的個數
int main()
{
int letter=0,num=0,space=0,other=0,i;
char put[1000000];
gets(put);
for(i=0;i<1000000;i++)
{
if(put[i]=='\n' || put[i]==0) /* gets 不保存回車,字符串以'\0'結束 */
break;
else if( (空1))
letter++;
else if( (空2))
num++;
else if( (空3))
space++;
else
other++;
}
printf("TYPE No.\n");
printf("letter %d\n",letter);
printf("num %d\n",num);
printf("space %d\n",space);
printf("other %d\n",other);
system("pause");
return 0;
}
單選題
1、C語言中下列敘述正確的是_D_。
A:不能使用do-while語句構成的循環
B:do-while語句構成的循環,必須用break語句才能退出
C:do-while語句構成的循環,當while語句中的表達式值爲非零時結束循環
D:do-while語句構成的循環,當while語句中的表達式值爲零時結束循環
知識點:知識點/循環結構程序設計/WHILE和DO WHILE循環結構
2、下列描述中不正確的是_C_。
A:字符型數組中可以存放字符串
B:可以對字符型數組進行整體輸入、輸出
C:可以對整型數組進行整體輸入、輸出
D:不能在賦值語句中通過賦值運算符"="對字符型數組進行整體賦值
知識點:知識點/基本語句/數據的輸入與輸出,輸入輸出函數的調用
3、以下程序的輸出結果是__D__。
main()
{ int x=10,y=10,i;
for(i=0;x>8 ;y=++i)
printf("%d %d ",x--,y);
}
A:10 1 9 2
B:9 8 7 6
C:10 9 9 0
D:10 10 9 1
知識點:知識點/循環結構程序設計/FOR循環結構
4、以下程序的輸出結果是___B___。
main()
{ char a[10]={'1','2','3','4','5','6','7','8','9',0},*p;
int i ;
i=8;
p=a+i;
printf("%s\n",p-3);
}
A:6
B:6789
C:'6'
D:789
知識點:知識點/指針/指針數組,指向指針的指針,MAIN函數的命令行參數
5、能正確表示a和b同時爲正或同時爲負的邏輯表達式是___D___。
A:(a>=0||b>=0)&&(a<0|| b<0)
B:(a>=0&&b>=0)&&(a<0&&b<0)
C:(a+b>0)&&(a+b<=0)
D:a*b>0
知識點:知識點/基本語句/表達式語句,空語句,複合語句
6、以下程序的輸出結果是__A__。
main()
{ int n=4;
while(n--)printf("%d ",--n);
}
A:2 0
B:3 1
C:3 2 1
D:2 1 0
知識點:知識點/循環結構程序設計/WHILE和DO WHILE循環結構
7、以下程序的輸出結果是___D___。
main()
{ int k=17;
printf("%d,%o,%x\n",k,k,k);
}
A:17,021,0x11
B:17,17,17
C:17,0x11,021
D:17,21,11
知識點:知識點/數據類型及其運算/C的數據類型及其定義方法
8、若有說明:long *p,a;則不能通過scanf語句正確給輸入項讀入數據的程序段是___A__。
A:*p=&a;scanf("%ld",p);
B:p=(long *)malloc(8);scanf("%ld,p);
C:scanf("%ld",p=&a);
D:scanf("%ld",&a);
知識點:知識點/基本語句/數據的輸入與輸出,輸入輸出函數的調用
9、以下選項中,能定義s爲合法的結構體變量的是__C__。
A:typedef struct abc
{ double a;
char b[10];
} s;
B:struct
{ double a;
char b[10];
}s;
C:struct ABC
{ double a;
char b[10];
}
ABC s;
D:typedef ABC
{ double a;
char b[10];
}
ABC s;
10、請讀程序:
#include <stdio.h>
main()
{
int a, b ;
for(a = 1 , b = 1 ; a <= 100 ; a++) {
if(b >= 20) break ;
if (b%3 == 1) { b += 3 ; continue ; }
b -= 5 ;
}
printf("%d\n", a) ;
}
上面程序的輸出結果是__B__。
A:7
B:8
C:9
D:10
知識點:知識點/選擇結構程序設計/用SWITCH語句實現多分支選擇結構
11、請選出合法的C語言賦值語句__B__。
A:a=b=58
B:i++;
C:a=58,b=58
D:k=int(a+b);
12、若x和y都是int型變量,x=100、y=200,且有下面的程序片段
printf("%d",(x,y) );
上面程序片段的輸出結果是__A__。
A:200
B:100
C:100 200
D:輸入格式符不夠,輸出不確定的值
13、若x是整型變量,pb是基類型爲整型的指針變量,則正確的賦值表達式是__A__。
A:pb=&x;
B:pb=x;
C:*pb=&x;
D:*pb=*x
14、設a、b和c都是int型變量,且a=3、b=4、c=5,則下面的表達式中,值爲0的表達式是__D__。
A:'a'&&'b'
B:a<=b
C:a||+c&&b-c
D:!((a<b)&&!c||1)
15、有程序如下:
typedef struct link { double score; struct link *next; };
void main ( ) {
link *ps, qs, rs;
ps = ( struct link *) malloc (sizeof (struct link) );
ps->score = 81.5; qs.score = 55.5; rs.score = 68.0;
ps->next = &qs ; qs.next =&rs;
printf ( " %d \n ", ps->score + ps->next->score);
}
上面程序的輸出結果是_137_。
--------------------------------------------------------------------
程序設計
1.定義函數double fact( int n) 計算n!的值。
2.判斷數m是否爲素數(只能被1和它本身整除的整數)?若是,則輸出yes;否則輸出no
--------------------------------------------------------------------
3.求出第n項Fibonacci數,並統計前n項之和。Fibonacci序列:1,1,2,3,5,8,13,21,34,55,……。該序列的第一個數和第二個數都是1,從第三個數開始,每個數都是前兩個數之和
--------------------------------------------------------------------
4.輸入某班級20個學生某課程的考試成績,要求統計並輸出班級總分及大於等於60分的人數。
--------------------------------------------------------------------
5.試編程判斷輸入的正整數是否既是5又是7的正倍數。若是,則輸出yes;否則輸出no。
--------------------------------------------------------------------
6.對15個數進行排序,按從小到大的順序輸出
--------------------------------------------------------------------
7.寫一個程序,它能夠計算並輸出楊輝三角形(帕斯卡三角形)前面的 n 行