?2022年專升本C語言程序設(shè)計(jì)復(fù)習(xí)資料及習(xí)題(1)
摘要:本文是C語言程序設(shè)計(jì)復(fù)習(xí)資料及習(xí)題(1),有打算報(bào)考2022年專升本需要考核C語言程序設(shè)計(jì)的同學(xué)可以一起來看看。供大家參考,下面是具體詳細(xì)內(nèi)容。
單元一 程序設(shè)計(jì)宏觀認(rèn)識(shí)
單元總結(jié)提升
本單元中,核心內(nèi)容有C語言程序框架結(jié)構(gòu)、程序的構(gòu)成和程序開發(fā)過程。通過本單元的學(xué)習(xí),我們應(yīng)該知道:
1.C語言程序最基本的程序框架由兩部分構(gòu)成,分別是:
(1) 編譯預(yù)處理
(2) 函數(shù)組
2.C程序最大的特點(diǎn)就是所有的程序都是用函數(shù)來裝配的,函數(shù)是構(gòu)成C語言程序的基本單位,函數(shù)包括主函數(shù)、庫(kù)函數(shù)和自定義函數(shù)。函數(shù)的一般結(jié)構(gòu)形式為:
函數(shù)返回值類型 函數(shù)名(形式參數(shù)) //函數(shù)首部
{ 說明語句; //函數(shù)體
可執(zhí)行語句;
}
3.標(biāo)識(shí)符是用來標(biāo)識(shí)程序中的某個(gè)對(duì)象名字的字符序列。C語言把標(biāo)識(shí)符分為三類,即關(guān)鍵字、預(yù)定義標(biāo)識(shí)符、用戶自定義標(biāo)識(shí)符。對(duì)于用戶自定義標(biāo)識(shí)符的命名C語言規(guī)定:
(1) 所有的用戶標(biāo)識(shí)符必須先定義后使用;
(2) 用戶標(biāo)識(shí)符由字母(A~Z,a~z)、數(shù)字(0~9)、下劃線“_”組成,并且首字符不能是 數(shù)字 ;
(3) 區(qū)分大小寫;
(4)不能用關(guān)鍵字作為用戶自定義標(biāo)識(shí)符,通常不使用預(yù)定義標(biāo)識(shí)符作為用戶自定義標(biāo)識(shí)符。
4.理論上講,程序開發(fā)過程分為四個(gè)步驟,分別為:
(1) 編輯源程序
(2) 編譯源程序,生成目標(biāo)程序
(3) 連接目標(biāo)程序及其相關(guān)模塊,生成可執(zhí)行文件
(4) 運(yùn)行可執(zhí)行文件
5.簡(jiǎn)單描述使用VC++6.0開發(fā)應(yīng)用程序的步驟:
如圖所示:
總之,通過本單元的學(xué)習(xí),應(yīng)該掌握C語言程序框架結(jié)構(gòu)和程序開發(fā)過程,還要對(duì)C語言程序設(shè)計(jì)的知識(shí)脈絡(luò)有一定的了解。
單元練習(xí)
一.選擇題
1.構(gòu)成C語言程序的基本單位是( )。
A.框架 B.預(yù)處理 C.函數(shù) D.語句
2.在程序開發(fā)過程中,把文本文件格式源程序轉(zhuǎn)化為二進(jìn)制格式的目標(biāo)程序的過程稱之為( )。
A.編輯 B.編譯 C.連接 D.運(yùn)行
3.關(guān)于主函數(shù),下列說法不正確的是( )。
A.一個(gè)完整的C語言應(yīng)用程序有唯一的主函數(shù)
B.主函數(shù)的名稱只能是main
C.主函數(shù)可以被其他自定義函數(shù)調(diào)用
D.C語言程序的運(yùn)行從主函數(shù)開始,以主函數(shù)為核心展開
4.關(guān)于標(biāo)識(shí)符,下列說法不正確的是( )。
A.庫(kù)函數(shù)名稱為預(yù)定義標(biāo)識(shí)符,不建議用作用戶自定義標(biāo)識(shí)符
B. 關(guān)鍵字不能作為用戶自定義標(biāo)識(shí)符
C.用戶自定義標(biāo)識(shí)符中不區(qū)分大小寫字母
D.標(biāo)識(shí)符中可以出現(xiàn)下劃線,且可以出現(xiàn)在標(biāo)識(shí)符的任意位置
5.以下可用作用戶自定義標(biāo)識(shí)符的一組是( )。
A.void、return、if B.printf、include、fabs
C.Max、_abc、Main D.2abc、pay$、sum-10
二.填空題
1.C語言程序一般由若干個(gè)函數(shù)構(gòu)成,程序中應(yīng)至少包含一個(gè)_________,其名稱只能為_________。
2.C語言程序中每條語句必須以_________結(jié)束。
3.C語言程序的注釋是以_________開頭,以________結(jié)束的,在VC++6.0編程環(huán)境中,可使用_________作為注釋的起始標(biāo)識(shí),注釋對(duì)程序的執(zhí)行不起任何作用。
4.最初編寫的C語言程序稱為_________,其擴(kuò)展名為_________,編譯后生成的文件為_________,其擴(kuò)展名是_________,連接后生成的文件是_________,其擴(kuò)展名是_________。
5.C語言規(guī)定,標(biāo)識(shí)符只能由_________、_________和_________三種字符組成,而且,首字符只能是_________或_________。
習(xí)題答案:
一.選擇題
1.C 2.B 3.C 4.C 5.C
二.填空題
1.主函數(shù) main
2.分號(hào);
3./* */ //
4.源程序 .cpp或.c 目標(biāo)文件(或目標(biāo)程序) .obj 可執(zhí)行文件(或可執(zhí)行程序) .exe
5.字母(A~Z,a~z)、數(shù)字(0~9)、下劃線“_” 字母或下劃線
單元二 程序設(shè)計(jì)基礎(chǔ)知識(shí)
單元總結(jié)提升
本單元中,核心內(nèi)容有C語言中基本的數(shù)據(jù)類型、常量和變量、運(yùn)算符和表達(dá)式以及算法的概念。通過本單元的學(xué)習(xí),我們應(yīng)該知道:
1.C語言中最基本的數(shù)據(jù)類型有: 整型、字符型、浮點(diǎn)型 。
2.C程序中使用的常量按照表現(xiàn)形式可分為直接常量和符號(hào)常量。
(1)直接常量
1)整型常量,有十進(jìn)制、八進(jìn)制和十六進(jìn)制三種描述方式,其中,八進(jìn)制的前置符號(hào)標(biāo)志為 0 ,十六進(jìn)制的前置符號(hào)標(biāo)志為 0x或0X 。
2)浮點(diǎn)型常量,有十進(jìn)制小數(shù)和指數(shù)兩種描述方式,指數(shù)形式的符號(hào)標(biāo)志是 e或E 。
3)字符型常量,是用單撇引號(hào)括起來的單一字符,對(duì)一些特殊字符和控制字符用 的形式表示。
4)字符串常量,是用雙撇引號(hào)括起來的一串字符序列。字符串的結(jié)束標(biāo)志為 ‘\0’ 。
(2)符號(hào)常量
符號(hào)常量是使用某個(gè)符號(hào)代表的常量,符號(hào)常量使用編譯預(yù)處理中的宏定義命令 定義。
3.C程序中使用變量,必須先 定義 ,后 使用 。變量定義后,系統(tǒng)會(huì)根據(jù)變量的類型分配相應(yīng)的存儲(chǔ)空間。
4.C語言有豐富的運(yùn)算符,其中算術(shù)運(yùn)算符包括+、-、*、/、%,運(yùn)算符中的 僅用于整數(shù)間的運(yùn)算;賦值運(yùn)算符包括“=”和相應(yīng)的復(fù)合賦值運(yùn)算符 +=、-=、*=、/= ,賦值運(yùn)算的含義是將“=”右側(cè)的表達(dá)式的計(jì)算結(jié)果賦值給“=”左側(cè)的變量,這與數(shù)學(xué)中“=”的含義不同,需要注意。
5.由運(yùn)算符和數(shù)據(jù)構(gòu)成表達(dá)式,若表達(dá)式中各數(shù)據(jù)的類型不同,則存在類型自動(dòng)轉(zhuǎn)換問題,必要時(shí)也可以使用強(qiáng)制類型轉(zhuǎn)換。
6.對(duì)于面向過程的程序設(shè)計(jì)來說,程序= 數(shù)據(jù)結(jié)構(gòu) + 算法 。
7.在C語言中,對(duì)于每一個(gè)程序設(shè)計(jì)單元可采用結(jié)構(gòu)化程序設(shè)計(jì)方法,有三種基本的程序結(jié)構(gòu),分別為: 順序 、 選擇 和 循環(huán) 。
通過本單元的學(xué)習(xí),應(yīng)該掌握C語言程序設(shè)計(jì)所需要的基本知識(shí),為后續(xù)內(nèi)容的學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。
單元練習(xí)
一.選擇題
1.在C語言中,int、short、char三種類型數(shù)據(jù)所占用的存儲(chǔ)空間是( )。
A.均為2個(gè)字節(jié) B.int和short占2個(gè)字節(jié),char占1個(gè)字節(jié)
C.與編譯環(huán)境有關(guān) D.由用戶自己定義
2.下面定義字符型變量ch的語句不正確的是( )。
A.char ch=‘\X2A’; B.char ch="c";
C.char ch=65; D.char ch=NULL;
3.已知大寫字母A的ASCII是65,小寫字母a的ASCII是97,以下不能將字符型變量c中的大寫字母轉(zhuǎn)換成對(duì)應(yīng)的小寫字母的語句是( )。
A.c= (c-'A')%26+'a'; B.c2=tolower(c);
C.c= c-'A'+'a'; D.c=('A'+c)%26-'a';
4.設(shè)有定義:double d,h;,其中d為三角形的底邊長(zhǎng),h為三角形的高,則以下C語言表達(dá)式與其計(jì)算結(jié)果不相符的是( )。
A.d*h/2 B.1/2*d*h C.d*h*1/2 D.d/2*h
5.以下選項(xiàng)中,與k=n++;完全等價(jià)的語句是( )。
A.k=n;n=n+1; B.n=n+1;k=n; C.k=++n; D.k+=n+1;
二.填空題
1.寫出整型變量a、無符號(hào)長(zhǎng)整型變量b、雙精度浮點(diǎn)型變量c和字符型變量d的定義語句:______。
2.常量‘a(chǎn)’和”a”分別占用_____個(gè)字節(jié)和_____個(gè)字節(jié)的存儲(chǔ)空間。
3.有定義 int a=1234;,獲取其百位數(shù)碼的表達(dá)式為________________________。
4.若有定義:char a=97,c;,則表達(dá)式c='a'+'8'-'3'的值為_________。
5.已知int x=6;,則執(zhí)行x+=x-=x-3;語句后,x的值是_________。
6.將一個(gè)浮點(diǎn)型變量n四舍五入精確到小數(shù)點(diǎn)后兩位,其表達(dá)式為: ___。
7.C語言中基本的數(shù)據(jù)類型有__ 、___ 、___ 。
8.結(jié)構(gòu)化程序設(shè)計(jì)中基本的程序結(jié)構(gòu)有___ 、___ 、___ 。
習(xí)題答案:
一.選擇題
1.C 2.B 3.D 4.B 5.A
二.填空題
1.int a; unsigned long b; double c; char d;
2.1 2
3.a/100%10
4.f
5.6
6.((int)(n*100+0.5))/100.0;
7.整型、浮點(diǎn)型、字符型
8.順序、選擇、循環(huán)
單元三 順序結(jié)構(gòu)程序設(shè)計(jì)
單元總結(jié)提升
本單元中,核心內(nèi)容是順序程序結(jié)構(gòu)程序設(shè)計(jì)中標(biāo)準(zhǔn)輸入輸出庫(kù)函數(shù)的使用。通過本單元的學(xué)習(xí),我們應(yīng)該知道:
1.C語言提供了標(biāo)準(zhǔn)輸入輸出庫(kù)函數(shù)用于實(shí)現(xiàn)數(shù)據(jù)輸入輸出操作,其對(duì)應(yīng)的頭文件為 stdio.h 。
2.單字符輸入和輸出函數(shù)分別為 getchar() 和 putchar() 。
3.格式化輸入和輸出函數(shù)分別為 scanf() 和 printf() 。
4.格式化輸出函數(shù)有兩種調(diào)用格式:
(1) printf("字符串常量");
(2) printf("格式控制字符串",輸出項(xiàng)列表);
5.格式化輸入/輸出中,格式控制符由 % 開頭。常用的格式控制符有:整型int格式符 %d 、float浮點(diǎn)型格式符 %f 、double浮點(diǎn)型格式符 %lf 、字符型格式符 %c ;對(duì)于浮點(diǎn)型格式可以用 m.n 形式的附加格式說明小數(shù)的寬度和小數(shù)位數(shù)。
6.格式化輸入中的輸入項(xiàng)為地址列表,對(duì)變量取地址的運(yùn)算符為 & 。
通過本單元的學(xué)習(xí),應(yīng)對(duì)順序結(jié)構(gòu)程序設(shè)計(jì)的特點(diǎn)和設(shè)計(jì)思路有所了解,同時(shí)重點(diǎn)學(xué)會(huì)單字符輸入函數(shù)getchar()、單字符輸出函數(shù)putchar()、格式化輸出函數(shù)printf()和格式化輸入函數(shù)scanf()的正確使用。
單元練習(xí)
一.選擇題
1.已定義x為float型變量,其值為213.45678,則printf("%-4.2f\n",x);的輸出結(jié)果為( )。
A.213.46 B.213.45
C.-213.45 D.輸出格式控制說明的域?qū)挷粔?,不能輸?/p>
2. 有以下程序,程序運(yùn)行時(shí)輸入:1,2,3
#include
void main( )
{ int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("a+b+c=%d\n",a+b+c);
}
A.6 B.a+b+c=6 C.123 D.不確定的值
3.下面輸入語句中,正確的是( )。
A.scanf("a=b=%d",&a,&b); B.scanf("%d,%d",&a,&b);
C.scanf("%c",c); D.scanf("%d %d\n",&f1,f2);
4.在VC++6.0環(huán)境中,下列說法正確的是( )。
A.輸入函數(shù)scanf()輸入多個(gè)數(shù)據(jù)時(shí),有時(shí)數(shù)據(jù)間不必加間隔符。
B.輸入函數(shù)scanf()中單精度或雙精度浮點(diǎn)型數(shù)據(jù)都要用%f作為格式控制符。
C.使用輸出函數(shù)printf()輸出字符或字符串都用格式控制符%s。
D.輸出函數(shù)printf()中單精度或雙精度浮點(diǎn)型數(shù)據(jù)都要用%f作為格式控制符。
5.下面程序的功能是實(shí)現(xiàn)兩個(gè)字符變量互換值,若為ch1輸入a,ch2輸入b,則程序運(yùn)行時(shí)正確的輸入是( )。
#include
void main( )
{ char ch1,ch2,ch;
scanf("%c%c",&ch1,&ch2);
ch=ch1;ch1=ch2;ch2=ch;
printf("ch1=%c,ch2=%c\n",ch1,ch2);
}
A.a,b B.a
二.填空題
1.有語句putchar(getchar()),程序運(yùn)行時(shí)輸入:A,則輸出結(jié)果是____________。
2.printf("%6.2f%%",1.0/3);的輸出結(jié)果是____________。
3.補(bǔ)充程序: int n1=10,n2=20; printf(" ",n1,n2);
要求按以下格式輸出n1和n2的值,每個(gè)輸出行從第一列開始。
n1=0010
n2=0020
4.有以下程序,程序運(yùn)行時(shí)輸入:1234
#include
void main( )
{ char ch1,ch2;
int n1,n2;
ch1=getchar();
ch2=getchar();
n1=ch1-’0’;
n2=n1*10+(ch2-’0’);
printf("n1=%d,n2=%d.\n",n1,n2);
}
5. 輸入多個(gè)非字符型的數(shù)值數(shù)據(jù)時(shí),數(shù)據(jù)輸入時(shí)可用 、 和 作為間隔符。
習(xí)題答案:
一.選擇題
1.A 2.D 3.B 4.A 5.C
二.填空題
1.A
2.0.33%
3.n1=%04d\nn2=%04d
4.n1=1,n2=12
5.空格,TAB鍵,回車
延伸閱讀
專升本微信公眾號(hào)
掃碼添加
專升本備考資料免費(fèi)領(lǐng)取
去領(lǐng)取