- 程序設計基礎教程:C語言
- 常東超 劉培勝 郭來德等編著
- 1542字
- 2020-05-07 11:49:31
習題
一、選擇題
3.1 若a、b、c、d都是int型變量且初值為0,以下選項中不正確的賦值語句是( )。
A)a=b=c=100;
B)d++;
C)c+b;
D)d=(c=22)-(b++);
3.2 下列選項中不是C語句的是( )。
A){int i;i++;printf("%d\n",i);}
B);
C)a=5,c=10
D){;}
3.3 合法的C語言賦值語句是( )。
A)A=B=58
B)K=int(a+b)
C)a=58,b=58
D)--i;
3.4 使用getchar()函數時應在程序的開頭嵌入的頭文件是( )。
A)"math.h"
B)"stdio.h"
C)"alloc.h"
D)"dos.h"
3.5 有如下程序段:
char ch1,ch2;
ch1=getchar();
ch2=getchar();
putchar(ch1);
putchar(ch2);
若運行時輸入:A B↙
則輸出結果是( )。
A)AB
B)A B
C)A
D)AA
3.6 有以下程序
#include"stdio.h"
void main()
{ int x=10,y=3;
printf("%d\n",y=x/y);
}
執行后的輸出結果是( )。
A)0
B)1
C)3
D)不確定的值
3.7 若變量已正確定義為int型,要給a、b、c輸入數據,正確的輸入語句是( )。
A) read(a,b,c);
B) scanf("%d%d%d",a,b,c);
C) scanf("%D%D%D",&a,&b,&c);
D) scanf("%d%d%d",&a,&b,&c);
3.8 若變量已正確定義為float型,要通過輸入語句:scanf("&f &f &f",&a,&b,&c);給a、b、c分別賦值為11.0、22.0、33.0,不正確的輸入形式是( )。
A)11
22
33
B)11.0,22.0,33.0_
C)11.0
22.0 33.0
D)11 22
33
3.9 若變量a、b、t已正確定義,要將a和b中的數進行交換,以下選項中不正確的是( )。
A)a=a+b,b=a-b,a=a-b;
B)t=a;a=b;b=t;
C)a=t;t=b;b=a;
D)t=b;b=a;a=t;
3.10 若有正確定義語句double x=5.16894;
則語句printf("%f\n",(int)(x*1000+0.5)/(double)1000);的輸出結果是( )。
A)輸出格式不對
B)5.170000
C)5.168000
D)5.169000
3.11 若有以下程序段:
int c1=1,c2=2,c3;
c3=c1/c2;
printf("%d\n",c3);
執行后的輸出結果是( )。
A)0
B)1/2
C)0.5
D)1
3.12 若有以下程序段:
int a=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf("%d,%d,%d\n",a,b,c);
執行后的輸出結果是( )。
A)3,0,-10
B)0,0,5
C)-10,3,-10
D)3,0,3
3.13 有以下程序段:
char ch; int k;
ch='a';k=12;
printf("%c,%d,",ch,ch,k);
printf("k=%d\n",k)
已知字符'a'的ASCII碼值為97,則執行上述程序段后輸出結果是( )。
A) 因變量類型與格式符的類型不匹配輸出無定值
B) 輸出項與格式描述符個數不符,輸出為0值或不定值
C) a,97,12k=12
D) a,97,k=12
3.14 有以下程序段:
int a=1,b=1;
scanf("%d%d",&a,&b);
printf("a=%d,b=%d\n",a,b);
運行時輸入:12.36↙,則輸出結果是( )。
A)a=12,b=36
B)a=12.36,b=1
C)a=12,b=1
D)a=12,b=0
3.15 有以下程序段:
int a;
float b;
scanf("%2d%1f",&a,&b);
printf("%d,%f\n",a,b);
運行時輸入:876543.0,則輸出結果是( )。
A)87,6.000000
B)876,543.000000
C)76,543.00000
D)87,6543.000000
3.16 若有說明語句:double*p,a;則能通過scanf語句正確給輸入項讀入數據的程序段是( )。
A)*p=&a;scanf("%lf",p);
B)*p=&a;scanf("%f",p);
C) p=&a;scanf("%lf",*p);
D) p=&a;scanf("%lf",p);
二、填空題
3.17 若有以下定義,請寫出輸出結果。
int i=-200,j=2500;
printf("(1)%d,%d".i.j);
printf("(2)i=%d,j=%d\n",i,j);
printf("(3)i=%d\nj=%d\n",i,j,);
3.18 變量i、j、k已定義為int型且初值為0,用以下語句進行輸入:
scanf("%d",&i);scanf("%d",&j);scanf("%d",&k);
從鍵盤輸入:12.3↙,則i、j、k的值分別是 。
3.19 復合語句在語法上被認為是 ,空語句的形式為 。
3.20 C語句的最后用 結束。
3.21 以下程序段是要求scanf語句給變量賦值,寫出運行時給k、a、x分別輸入100、15.81、1.89234時的三種輸入形式。
int k;float a;double x;
scanf("%d%f%lf",&k,&a,&x);
printf("k=%d,a=%f,x=%f\n",k,a,x);
三、編程題
3.22 從鍵盤輸入一個小寫字母,用大寫形式輸出該字母。
3.23 輸入任意一個三位數,將其各位數字反序輸出。
3.24 編寫程序,讀入三個整數給a、b、c,然后交換它們中的數,交換原則:a給b、b給c、c給a,然后輸出a、b、c。
- 玩轉Scratch少兒趣味編程
- Android和PHP開發最佳實踐(第2版)
- 潮流:UI設計必修課
- 少年輕松趣編程:用Scratch創作自己的小游戲
- Python編程與幾何圖形
- JavaScript入門經典
- Node.js Design Patterns
- Mastering Android Development with Kotlin
- 用戶體驗可視化指南
- Practical Game Design with Unity and Playmaker
- Raspberry Pi Robotic Projects(Third Edition)
- Laravel Application Development Blueprints
- Mastering Concurrency Programming with Java 9(Second Edition)
- 大數據時代的企業升級之道(全3冊)
- 青少年Python趣味編程