c編程筆試題
❶ c語言 筆試題求解
******
******
******
******
printf(i%6!=0 ? "%c": "%c\n",ch);
這一句的意思是 當i%6不等於0的時printf(「%c」,ch);
如果等於0 輸出 printf(「%c\n」,ch)
所以當是6,12,18,24這四個6倍數時,剛好是每6個換一行,總共4行,24個*
❷ c 語言筆試試題
11111
12221
❸ 三道C語言筆試題
1)
31,49,1
2)
沒有輸出,沒有向屏幕輸出的語句。
3)
-1,-2
❹ C語言筆試習題(1)
問題的解釋是:
1:(可以把printf定義為用戶標識符,但不能把if定義為用戶標識符)
if是c語言的關鍵字,所以規定不可以,printf可以被用戶自定義為用戶定義
的函數。
2:(A.a/=b+c B.a%(4.0) C.a=1/2*(x=y=20,x*3) )
a,b,c是變數表達式,所以不能定義為變數。
3:答案a等於70000.000000000,c的答案是70000.000000000
d的答案是70000.000000000
4:答案是B,vc下面得到的答案
5:a錯是因為運算符的優先順序最低的是逗號運算符,
b錯是因為實型變數中允許賦值整性變數但是不允許存放整型數
c 錯是因為b中的值不會丟失!
6:%o是八進制的輸出形式,八進制的177777就是int值的-1,
%x是16進制無符號的輸出形式,
%u是無符號的10進制的輸出形式。
你可以看一看各種格式的輸出形式即可:
你可以調出計算機轉化一次就可以明白了。
❺ c語言筆試題來幾份
留郵箱我給你發試卷和答案
一. 單項選擇題
1) C語言中最基本的非空數據類型包括
A.整型、浮點型、無值型 B.整型、字元型、無值型
C. 整型、浮點型、字元型 D. 整型、浮點型、雙精度型、字元型
2) C語言中運算對象必須是整型的運算符是
A.% B./ C.= D.<=
3) 若已定義x和y為int類型,則執行了語句x=1;y=x+3/2;後y的值是
A.1 B.2 C.2.0 D.2.5
4) 若有以下程序 段,int a=1,b=2,c=1.0/b*a;則執行後,c中的值是
A.0 B.0.5 C.1 D.2
5) 能正確表示邏輯關系:「a≥10或a≤0」的C語言表達式是
A.a>=10ora<=0 B.a>=0|a<=10
C.a>=10&&a<=0 D.a>=10||a<=0
6) 下列字元序列中, 不可用作C語言標識符的是
A.xyd233 B.No.1 C._sd D.xyz
7) 在printf()函數中,反斜杠字元『\』表示為
A.\』 B.\0 C.\n D.\\
8) 設先有定義:int a=10;則表達示a+=a*=a的值為
A.10 B.100 C.1000 D.200
9) 設先有定義:int y=3,x=2,z=1;則語句:
printf(「%d %d\n」,(++x,y++),z+2);的輸出結果為
A.3 4 B.4 2 C.4 3 D.3 3
10) 假定x、y、z、m均為int 型變數,有如下程序段
x=2;y=3;z=1;
m=(y<x)?y:x;
m=(z<y)?m:y;
則該程序運行後,m的值是
A.4 B.3 C2 D.1
11) 以下選項中合法的字元常量是
A. 「B」 B.』\010』 C.68 D.D
12) 設x=3,y=4,z=5,則表達式((x+y)>z)&&(y==z)&&x||y+z&&y+z的值為
A.0 B.1 C.2 D.3
13) 結構化程序模塊不具有的特徵是
A.只有一個入口和一個出口
B.要盡量多使用goto語句
C.一般有順序、選擇和循環三種基本結構
D.程序中不能有死循環
14) C語言中,邏輯「真」等價於
A.整數1 B. 整數0 C.非0數 D.TRUE
15) 以下4條語句中,有語法錯誤的是
A.if(a>b) m=n; B.if(a<b) m=b;
C.if((a=b)>=0) m=a; D.if((a=b;)>=0) m=a;
16) 若i,j均為整型變數,則以下循環
for(i=0,j=2;j=1;i++,j--)
printf(「%5d,%d\n」,I,j);
A.循環體只執行一次 B.循環體執行二次
C.是無限循環 D.循環條件不合法
17) 以下程序段,執行結果為
a=1;
do
{
a=a*a;
}while(!a);
A.循環體只執行一次 B.循環體執行二次
C.是無限循環 D.循環條件不合法
18) C語言中while與do-while語句的主要區別是
A.do-while循環體至少無條件執行一次 B.do-while允許從外部跳到循環體內
B.while的循環體至少無條件執行一次 D.while的循環控制條件比do-while的嚴格
19) 語句while(!a);中條件等價於
A.a!=0 B.~a C.a==1 D.a==0
20) 以下程序的運行結果為
#include<stdio.h>
main()
{
int i=1,sum=0;
while(i<=100)
sum+=i;
printf(「1+2+3+…+99+100=%d」,sum);
}
A.5050 B.1 C.0 D.程序陷入死循環
21) 以下程序運行結果為
#include<stdio.h>
main()
{
int sum,pad;
sum=pad=5;
pad=sum++;
pad++;
++pad;
printf(「%d\n」,pad);
}
A.7 B.6 C.5 D.4
22) 以下程序的運行結果為
#include<stdio.h>
main()
{
int a=2,b=10;
printf(「a=%%d,b=%%d\n」,a,b);
}
A.a=%2,b=%10 B.a=2,b=10
C. a=%%d,b=%%d D. a=%d,b=%d
23) 為了避免嵌套的if-else語句的二義性,C語言規定else總是
A.與縮排位置相同的if組成配對關系
B.與在其之前未配對的if組成配對關系
C. 與在其之前未配對的最近的if組成配對關系
D.與同一行上的if組成配對關系
24) 對於for(表達式1;;表達式3)可理解為
A.for(表達式1;表達式3) B. for(表達式1;1;表達式3)
C. for(表達式1;0;表達式3) D. for(表達式1;表達式3;表達式3)
25) 在下列數組定義、初始化或賦值語句中,正確的是
A.int a[8]=100; B.int s[5]={1,2,3,4,5,6};
C.int x[]={1,2,3,4,5,6}; D.int n=8;int score[n];
26) 若已有定義:int i,a[100];則下列語句中,不正確的是
A.for(i=0;i<100;i++) a[i]=i; B. for(i=0;i<100;i++) scanf(「%d」,&a[i]);
C.scanf(「%d」,&a); D.for(i=0;i<100;i++) scanf(「%d」,a+i);
27) 與定義char c[]={「GOOD」};不等價的是
A.char c[]={『G』,』O』,』O』,』D』,』\0』}; B. char c[]=「GOOD」;
C. char c[4]={「GOOD」}; D. char c[5]={『G』,』O』,』O』,』D』,』\0』};
28) 若已有定義char c[]={「GOOD」};則下列語句 中,不正確的是
A.puts(c); B.for(i=0;c[i]!=』\0』;i++) printf(「%c」,c[i]);
C.printf(「%s」,c); D.for(i=0; c[i]!=』\0』;i++) putchar(c);
29) 若定義a[][3]={0,1,2,3,4,5,6,7};則a數組中行的大小是
A.2 B.3 C.4 D.不確定值
30) 以下程序的運行結果是
#include<stdio.h>
void f(int b[])
{
int i=0;
while(b[i]<=10)
{
b[i]+=2;
i++;
}
}
main()
{
int i,a[6]={-1,5,10,9,13,7};
f(a);
for(i=0;i<6;i++)
{
printf(「%2d」,a[i]);
}
}
A.2 7 12 11 13 9 B.1 7 12 11 13 7
C.1 7 12 11 13 9 D.1 7 12 9 13 7
31) 若執行以下程序段,其運行結果是
char c[]={『a』,』b』,』\0』,』c』,』\0』};
printf(「%s\n」,c);
A.ab c B.』a』』b』 C.abc D.ab
32) 數組名作為參數傳遞給函數,作為實際參數的數組名被處理為
A.該數組長度 B.該數組元素個數
C.該函數中各元素的值 D.該數組的首地址
33) 當接受用戶輸入 的含空格的字元串時,應使用函數
A.scanf() B.gets() C.getchar() D.getc()
34) 一個完整的可運行的C源程序中
A.可以有一個或多個主函數
B.必須有且僅有一個主函數
C.可以沒有主函數
D.必須不主函數和其他函數
35) 構成C語言源程序的基本單位是
A.子程序 B.過程 C.文本 D. 函數
36) 某C程序由一個主函數和一個自定義函數組成,則該程序
A.總是從max()函數開始執行
B.寫在前面的函數先開始執行
C.寫在後面的函數先開始執行
D. 總是從main()函數開始執行
37) C語言規定,一個C源程序的主函數名必須為
A.program B.include C.main D.function
38) 下列說法正確的是
A. 在書寫C語言源程序是,每個語句以逗號結束
B. 注釋時,』/』和』*』號間可以有空格
C. 無論注釋內容的多少,在對程序編譯時都被忽略
D. C程序每行只能寫一個語句
39) C語言中函數形參的預設存儲類型是
A.靜態 B.自動 C.寄存器 D.外部
40) 函數調用語句function((exp1,exp2),18)中含有的實參個數為
A.0 B.1 C.2 D.3
二. 填空題
1. 表達式10/3的結果是 ;10%3的結果是
2. 執行語句:int a=12;a+=a-=a*a;後的值是
3. 以下語句的輸出結果是
Short b=65535; printf(「%d」,b);
4. 以下程序的執行結果是
#include<stdio.h>
main()
{
int a,b,x;
x=(a=3,b=a--);
printf(「x=%d,a=%d,b=%d\n」,x,a,b);
}
5. 以下程序的執行結果是
#include<stdio.h>
main()
{
float f1,f2,f3,f4;
int m1,m2;
f1=f2=f3=f4=2;
m1=m2=1;
printf(「%d\n」,(m1=f1>=f2)&&(m2=f3<f4));
}
6. 以下程序的執行結果是
#include<stdio.h>
main()
{
float f=13.8;
int n;
n=(int)f%3;
printf(「n=%d\n」,n);
}
7. 若定義union ex{int i;float f;char a[10]}x;則sizeof(x)的值是
8. 設有int i=-1,如果在printf函數中用%u格式輸出i,則輸出結果是
9. 數組在內存中的首地址由 表示。
10. 「*」稱為 運算符。
三. 閱讀理解題
1. 下面程序的運行結果是
#include<stdio.h>
main()
{
static int a[4][5]={{1,2,3,4,0},{2,2,0,0,0},{3,4,5,0,0},{6,0,0,0,0}};
int j,k;
for(j=0;j<4;j++)
{
for(k=0;k<5;k++)
{
if(a[j][k]==0) break;
printf(「%d」,a[j][k]);
}
}
printf(「\n」);
}
2. 下面程序的運行結果是
#include<stdio.h>
main()
{
int a[]={1,2,3,4},i,j,s=0;
j=1;
for(i=3;i<=0;i--)
{
s=s+a[]*j;
j=j*10;
}
printf(「s=%d\n」,s)
}
3. 下面程序的運行結果是
#include<stdio.h>
int fun(int x)
{
int s;
if(x==0||x==1)
return 3;
s=x-fun(x-3);
return s;
}
main()
{
printf(「%d\n」,fun(3));
}
4. 下面程序的運行結果是
#include<stdio.h>
unsigned int fun(unsigned num)
{
unsigned int k=1;
do
{
k=k*num%10;
num=num/10;
}while(num);
return k;
}
5. 下面程序的運行結果是
#include<stdio.h>
int fun(int x,int y)
{
static int m=0,n=2;
n+=m+1;
m=n+x+y;
return m;
}
四. 編程題
1. 輸入四個整數,要求將它們按由小到大的順序輸出。
2. 編程求s=1-1/2+1/3-1/4+…-1/100。
3. 如果一個數等於其所有真因子(不包括其本身)之和,則該數為完數,例如6的因子有1、2、3,且6=1+2+3,故和為完數,求2~1000中的完數。(選做)
❻ c語言筆試題及答案
我就把主程序寫給你啊
main()
{
int x;
long int f;
printf("Please input x: ");
if(x>0)
f=2x-1;
else if(x=0)
f=-7909;
else
f=-5x+27;
printf("F(x)=%ld",f);
}
還有你說的圖一 根本看不到、、
❼ C語言考試題
二、 3
c=K
a,97
此題無結果。。而且編譯是錯的
三、
1、#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int a[3],i;
for(i=0;i<3;i++)
cin>>a[i];
sort(a,a+3);
cout<<"最大值為:"<<a[2]<<endl;
system("pause");
return 0;
}
2、#include<iostream>
using namespace std;
int main()
{
int sum=0,i;
for(i=1;i<=50;i++)
{
sum+=i;
}
cout<<sum<<endl;
while(1);
}
3、#include<iostream>
using namespace std;
int main()
{
char a,b;
cin>>a;
a=(a>='A'&&a<='Z')?(a+32):a;
cout<<a<<endl;
system("pause.");
}
4#include<stdio.h>
int main()
{
int i=2;
double sum=1.0;
while(i<=100)
{
sum+=1.0/i;
i+=2;
}
printf("%lf\n",sum);
while(1);
}
5、
#include<iostream>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
{
if(a>b) cout<<a<<endl;
else cout<<b<<endl;
}
while(1);
return 0;
}
6、#include<stdio.h>
int main()
{
int i=3;
float sum=1.0;
while(i<=99)
{
sum+=1.0/i;
i+=2;
}
printf("%f\n",sum);
while(1);
}
❽ 有趣的筆試題(關於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
主要特點
C語言是一種結構化語言,它有著清晰的層次,可按照模塊的方式對程序進行編寫,十分有利於程序的調試,且c語言的處理和表現能力都非常的強大,依靠非常全面的運算符和多樣的數據類型,可以輕易完成各種數據結構的構建,通過指針類型更可對內存直接定址以及對硬體進行直接操作,因此既能夠用於開發系統程序,也可用於開發應用軟體。
以上內容參考:網路-c語言
❿ C語言筆試題!求答案!另送100積分!
第一題
char
*a="abc";
是把字元串「abc」的首地址賦值給指針變數a;
char
b[]="abc";
定義一個字元串數組,因為是字元串
「abc」最後有一個『\0』
數組長度為4;
char
c[3]="abc"
寫法有問題,由於數組大小給定為3,最後一個『\0』寫不進數組,有的編譯器會報錯。
第二題
1)
struct
結構體分配內存特點是:大小等於所有成員所點內存大小的和。
union
聯合體分配內存特點是:大小等於成員中占內存最大的內存的大小。所以一共是4個int
13個char
答案是:4*4+13*1=29(相信自己做的)
2)
答案是3
PS:誰給的答案,坑爹呢吧
3)
答案是8
PS:不要被迷惑,這題是陷阱,指針的大小都是無符號長整型
大小是8
4)
答案是6,8(同上題),4。
第三題
1)
答案是
Output1
=
test1_1
Output1
=
test2
Output1
=
test1_1_1
2)(1)頭文件沒有標准輸入輸出
#include<stdio.h>
(9)錯,左值為指針,右值為數組元素,不能賦值,所以應改為char
*s=&src[len]
(11)不應是指針之間的賦值,應該是內容賦值,所以改為
*d++=*s--;
(12)如果按%s即字元串輸出的話,dest所指的字元串結尾沒有『\0'結尾可能出現溢出,解決的方法是在(12)前加一句
*d='\0';
有不清楚的扣729480205,一起學習