?2022年專升本C語言程序設計復習資料及習題(1)
摘要:本文是C語言程序設計復習資料及習題(1),有打算報考2022年專升本需要考核C語言程序設計的同學可以一起來看看。供大家參考,下面是具體詳細內容。
單元一 程序設計宏觀認識
單元總結提升
本單元中,核心內容有C語言程序框架結構、程序的構成和程序開發過程。通過本單元的學習,我們應該知道:
1.C語言程序最基本的程序框架由兩部分構成,分別是:
(1) 編譯預處理
(2) 函數組
2.C程序最大的特點就是所有的程序都是用函數來裝配的,函數是構成C語言程序的基本單位,函數包括主函數、庫函數和自定義函數。函數的一般結構形式為:
函數返回值類型 函數名(形式參數) //函數首部
{ 說明語句; //函數體
可執行語句;
}
3.標識符是用來標識程序中的某個對象名字的字符序列。C語言把標識符分為三類,即關鍵字、預定義標識符、用戶自定義標識符。對于用戶自定義標識符的命名C語言規定:
(1) 所有的用戶標識符必須先定義后使用;
(2) 用戶標識符由字母(A~Z,a~z)、數字(0~9)、下劃線“_”組成,并且首字符不能是 數字 ;
(3) 區分大小寫;
(4)不能用關鍵字作為用戶自定義標識符,通常不使用預定義標識符作為用戶自定義標識符。
4.理論上講,程序開發過程分為四個步驟,分別為:
(1) 編輯源程序
(2) 編譯源程序,生成目標程序
(3) 連接目標程序及其相關模塊,生成可執行文件
(4) 運行可執行文件
5.簡單描述使用VC++6.0開發應用程序的步驟:
如圖所示:

總之,通過本單元的學習,應該掌握C語言程序框架結構和程序開發過程,還要對C語言程序設計的知識脈絡有一定的了解。
單元練習
一.選擇題
1.構成C語言程序的基本單位是( )。
A.框架 B.預處理 C.函數 D.語句
2.在程序開發過程中,把文本文件格式源程序轉化為二進制格式的目標程序的過程稱之為( )。
A.編輯 B.編譯 C.連接 D.運行
3.關于主函數,下列說法不正確的是( )。
A.一個完整的C語言應用程序有唯一的主函數
B.主函數的名稱只能是main
C.主函數可以被其他自定義函數調用
D.C語言程序的運行從主函數開始,以主函數為核心展開
4.關于標識符,下列說法不正確的是( )。
A.庫函數名稱為預定義標識符,不建議用作用戶自定義標識符
B. 關鍵字不能作為用戶自定義標識符
C.用戶自定義標識符中不區分大小寫字母
D.標識符中可以出現下劃線,且可以出現在標識符的任意位置
5.以下可用作用戶自定義標識符的一組是( )。
A.void、return、if B.printf、include、fabs
C.Max、_abc、Main D.2abc、pay$、sum-10
二.填空題
1.C語言程序一般由若干個函數構成,程序中應至少包含一個_________,其名稱只能為_________。
2.C語言程序中每條語句必須以_________結束。
3.C語言程序的注釋是以_________開頭,以________結束的,在VC++6.0編程環境中,可使用_________作為注釋的起始標識,注釋對程序的執行不起任何作用。
4.最初編寫的C語言程序稱為_________,其擴展名為_________,編譯后生成的文件為_________,其擴展名是_________,連接后生成的文件是_________,其擴展名是_________。
5.C語言規定,標識符只能由_________、_________和_________三種字符組成,而且,首字符只能是_________或_________。
習題答案:
一.選擇題
1.C 2.B 3.C 4.C 5.C
二.填空題
1.主函數 main
2.分號;
3./* */ //
4.源程序 .cpp或.c 目標文件(或目標程序) .obj 可執行文件(或可執行程序) .exe
5.字母(A~Z,a~z)、數字(0~9)、下劃線“_” 字母或下劃線
單元二 程序設計基礎知識
單元總結提升
本單元中,核心內容有C語言中基本的數據類型、常量和變量、運算符和表達式以及算法的概念。通過本單元的學習,我們應該知道:
1.C語言中最基本的數據類型有: 整型、字符型、浮點型 。
2.C程序中使用的常量按照表現形式可分為直接常量和符號常量。
(1)直接常量
1)整型常量,有十進制、八進制和十六進制三種描述方式,其中,八進制的前置符號標志為 0 ,十六進制的前置符號標志為 0x或0X 。
2)浮點型常量,有十進制小數和指數兩種描述方式,指數形式的符號標志是 e或E 。
3)字符型常量,是用單撇引號括起來的單一字符,對一些特殊字符和控制字符用 的形式表示。
4)字符串常量,是用雙撇引號括起來的一串字符序列。字符串的結束標志為 ‘\0’ 。
(2)符號常量
符號常量是使用某個符號代表的常量,符號常量使用編譯預處理中的宏定義命令 定義。
3.C程序中使用變量,必須先 定義 ,后 使用 。變量定義后,系統會根據變量的類型分配相應的存儲空間。
4.C語言有豐富的運算符,其中算術運算符包括+、-、*、/、%,運算符中的 僅用于整數間的運算;賦值運算符包括“=”和相應的復合賦值運算符 +=、-=、*=、/= ,賦值運算的含義是將“=”右側的表達式的計算結果賦值給“=”左側的變量,這與數學中“=”的含義不同,需要注意。
5.由運算符和數據構成表達式,若表達式中各數據的類型不同,則存在類型自動轉換問題,必要時也可以使用強制類型轉換。
6.對于面向過程的程序設計來說,程序= 數據結構 + 算法 。
7.在C語言中,對于每一個程序設計單元可采用結構化程序設計方法,有三種基本的程序結構,分別為: 順序 、 選擇 和 循環 。
通過本單元的學習,應該掌握C語言程序設計所需要的基本知識,為后續內容的學習打下堅實的基礎。
單元練習
一.選擇題
1.在C語言中,int、short、char三種類型數據所占用的存儲空間是( )。
A.均為2個字節 B.int和short占2個字節,char占1個字節
C.與編譯環境有關 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中的大寫字母轉換成對應的小寫字母的語句是( )。
A.c= (c-'A')%26+'a'; B.c2=tolower(c);
C.c= c-'A'+'a'; D.c=('A'+c)%26-'a';
4.設有定義:double d,h;,其中d為三角形的底邊長,h為三角形的高,則以下C語言表達式與其
計算結果不相符的是( )。
A.d*h/2 B.1/2*d*h C.d*h*1/2 D.d/2*h
5.以下選項中,與k=n++;完全等價的語句是( )。
A.k=n;n=n+1; B.n=n+1;k=n; C.k=++n; D.k+=n+1;
二.填空題
1.寫出整型變量a、無符號長整型變量b、雙精度浮點型變量c和字符型變量d的定義語句:______。
2.常量‘a’和”a”分別占用_____個字節和_____個字節的存儲空間。
3.有定義 int a=1234;,獲取其百位數碼的表達式為________________________。
4.若有定義:char a=97,c;,則表達式c='a'+'8'-'3'的值為_________。
5.已知int x=6;,則執行x+=x-=x-3;語句后,x的值是_________。
6.將一個浮點型變量n四舍五入精確到小數點后兩位,其表達式為: ___。
7.C語言中基本的數據類型有__ 、___ 、___ 。
8.結構化程序設計中基本的程序結構有___ 、___ 、___ 。
習題答案:
一.選擇題
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.整型、浮點型、字符型
8.順序、選擇、循環
單元三 順序結構程序設計
單元總結提升
本單元中,核心內容是順序程序結構程序設計中標準輸入輸出庫函數的使用。通過本單元的學習,我們應該知道:
1.C語言提供了標準輸入輸出庫函數用于實現數據輸入輸出操作,其對應的頭文件為 stdio.h 。
2.單字符輸入和輸出函數分別為 getchar() 和 putchar() 。
3.格式化輸入和輸出函數分別為 scanf() 和 printf() 。
4.格式化輸出函數有兩種調用格式:
(1) printf("字符串常量");
(2) printf("格式控制字符串",輸出項列表);
5.格式化輸入/輸出中,格式控制符由 % 開頭。常用的格式控制符有:整型int格式符 %d 、float浮點型格式符 %f 、double浮點型格式符 %lf 、字符型格式符 %c ;對于浮點型格式可以用 m.n 形式的附加格式說明小數的寬度和小數位數。
6.格式化輸入中的輸入項為地址列表,對變量取地址的運算符為 & 。
通過本單元的學習,應對順序結構程序設計的特點和設計思路有所了解,同時重點學會單字符輸入函數getchar()、單字符輸出函數putchar()、格式化輸出函數printf()和格式化輸入函數scanf()的正確使用。
單元練習
一.選擇題
1.已定義x為float型變量,其值為213.45678,則printf("%-4.2f\n",x);的輸出結果為( )。
A.213.46 B.213.45
C.-213.45 D.輸出格式控制說明的域寬不夠,不能輸出
2. 有以下程序,程序運行時輸入: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環境中,下列說法正確的是( )。
A.輸入函數scanf()輸入多個數據時,有時數據間不必加間隔符。
B.輸入函數scanf()中單精度或雙精度浮點型數據都要用%f作為格式控制符。
C.使用輸出函數printf()輸出字符或字符串都用格式控制符%s。
D.輸出函數printf()中單精度或雙精度浮點型數據都要用%f作為格式控制符。
5.下面程序的功能是實現兩個字符變量互換值,若為ch1輸入a,ch2輸入b,則程序運行時正確的輸入是( )。
#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()),程序運行時輸入:A,則輸出結果是____________。
2.printf("%6.2f%%",1.0/3);的輸出結果是____________。
3.補充程序: int n1=10,n2=20; printf(" ",n1,n2);
要求按以下格式輸出n1和n2的值,每個輸出行從第一列開始。
n1=0010
n2=0020
4.有以下程序,程序運行時輸入: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. 輸入多個非字符型的數值數據時,數據輸入時可用 、 和 作為間隔符。
習題答案:
一.選擇題
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鍵,回車
延伸閱讀
- 輕松上岸!專升本備考題庫推薦!
- 備考后悔藥!如果早點買希賽學習包,能少走這些彎路…
- 專升本備考資料荒?希賽備考學習包你值得擁有
- 專升本刷題APP哪家強?當然是希賽統招專升本
- 專升本考試配套刷題小程序:官方指定知識點全覆蓋
- 專升本考試工具包:考試題庫+學習包
專升本微信公眾號
掃碼添加
專升本備考資料免費領取
去領取
掃描二維碼