SlideShare a Scribd company logo
1 of 114
Download to read offline
‫با‬ ‫چگونه‬C‫برنامه‬
‫بنویسیم؟‬
‫باش‬ ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫د‬.
‫زبان‬ ‫توسط‬ ‫نویسی‬ ‫برنامه‬ ‫مبانی‬ ‫با‬ ‫آشنایی‬C
‫خدا‬ ‫نام‬ ‫به‬
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫اهداف‬‫زبان‬ ‫در‬ ‫کامپیوتر‬ ‫ی‬ ‫ساده‬ ‫های‬ ‫برنامه‬ ‫نوشتن‬C
‫های‬ ‫دستور‬ ‫از‬ ‫استفاده‬ ‫چگونگی‬input‫و‬output
‫بنیادی‬ ‫های‬ ‫داده‬ ‫از‬ ‫استفاده‬ ‫چگونگی‬
‫کامپیوتر‬ ‫ی‬ ‫حافظه‬ ‫مفهوم‬
‫حسابی‬ ‫های‬ ‫عملگر‬ ‫از‬ ‫استفاده‬ ‫چگونگی‬
‫سازی‬ ‫تصمیم‬ ‫های‬ ‫دستور‬ ‫نوشتن‬ ‫چگونگی‬
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
2.1:‫مقدمه‬
2.2:‫زبان‬ ‫به‬ ‫ساده‬ ‫ی‬ ‫برنامه‬ ‫یک‬c:‫متن‬ ‫یک‬ ‫دادن‬ ‫نمایش‬
2.3:‫زبان‬ ‫ی‬ ‫ساده‬ ‫های‬ ‫برنامه‬ ‫دیگر‬c:‫صحیح‬ ‫عدد‬ ‫دو‬ ‫کردن‬ ‫جمع‬
2.4:‫حافظه‬ ‫مفهوم‬
2.5:‫زبان‬ ‫در‬ ‫حسابگرها‬c
2.6:‫گیری‬ ‫تصمیم‬ ‫های‬ ‫دستور‬:‫برابری‬ ‫و‬ ‫دهی‬ ‫نسبت‬ ‫های‬ ‫عملگر‬
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫زبان‬C‫ساختار‬(structure)‫می‬ ‫فهم‬ ‫قابل‬ ‫و‬ ‫منظم‬ ‫برنامه‬ ‫طراحی‬ ‫برای‬ ‫و‬ ‫آسان‬ ‫را‬‫کند‬.
‫زبان‬ ‫با‬ ‫فصل‬ ‫این‬ ‫در‬C‫می‬ ‫آشنا‬‫می‬ ‫ارائه‬ ‫مثال‬ ‫چندین‬ ‫و‬ ‫شویم‬‫زبان‬ ‫مهم‬ ‫های‬ ‫ویژگی‬ ‫تا‬ ‫کنیم‬C‫را‬
‫دهیم‬ ‫توضیح‬.
‫فصل‬ ‫در‬3‫و‬4‫زبان‬ ‫نویسی‬ ‫برنامه‬ ‫های‬ ‫ساختار‬ ‫ی‬ ‫مقدمه‬C‫می‬ ‫بیان‬ ‫را‬‫کنیم‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬-
‫کنیم‬ ‫می‬ ‫شروع‬ ‫ساده‬ ‫ی‬ ‫برنامه‬ ‫یک‬ ‫نوشتن‬ ‫با‬.
‫است‬ ‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬ ‫اول‬ ‫ی‬ ‫مسئله‬(.‫مثال‬1-2)
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
1 /* Fig . 2/1: fig02_01 .c
2 A first program in C */
3 #include <stdio .h>
4
5 /* function main begins program execution */
6 int main( void )
7 {
8 printf( “welcome to C!n” );
9
10 return 0; /* indicate that program ended successfully */
11 } /* end function main */
Welcome to !
‫مثال‬1-2‫زبان‬ ‫در‬ ‫برنامه‬ ‫اولین‬C
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬-
‫های‬ ‫خط‬1‫و‬2
/* Fig . 2/1: fig02_01 .c
A first program in c */
‫با‬ ‫ها‬ ‫کامنت‬ ، ‫دهند‬ ‫می‬ ‫نشان‬ ‫خط‬ ‫دو‬ ‫این‬ ‫که‬ ‫همانطور‬/*‫با‬ ‫و‬ ‫شده‬ ‫شروع‬*/‫می‬ ‫پایان‬‫ایند‬.
‫کنیم‬ ‫می‬ ‫اضافه‬ ‫برنامه‬ ‫بهتر‬ ‫خوانایی‬ ‫برای‬ ‫را‬ ‫ها‬ ‫کامنت‬.
‫ندار‬ ‫برنامه‬ ‫اجرای‬ ‫در‬ ‫تاثیری‬ ‫و‬ ‫شوند‬ ‫نمی‬ ‫خوانده‬ ‫کامپیوتر‬ ‫توسط‬ ‫ها‬ ‫کامنت‬ ، ‫برنامه‬ ‫اجرای‬ ‫هنگام‬‫ند‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬-
‫زبان‬ ‫در‬ ‫ها‬ ‫کامنت‬ ‫که‬ ‫این‬ ‫بر‬ ‫عالوه‬C‫کد‬ ‫ایجاد‬ ‫باعث‬ ‫هم‬ ‫ماشینی‬ ‫دیگر‬ ‫های‬ ‫زبان‬ ‫در‬ ، ‫شوند‬ ‫نمی‬ ‫خوانده‬
‫شوند‬ ‫نمی‬.
‫کنند‬ ‫درک‬ ‫و‬ ‫خوانده‬ ‫را‬ ‫شما‬ ‫ی‬ ‫برنامه‬ ‫بتوانند‬ ‫تا‬ ‫کنند‬ ‫می‬ ‫کمک‬ ‫دیگران‬ ‫به‬ ‫ها‬ ‫کامنت‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬1.2
‫فراموش‬‫کردن‬*/‫کامنت‬ ‫پایان‬ ‫در‬
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬2.2
‫شروع‬‫ها‬ ‫کامنت‬*/‫با‬ ‫آنها‬ ‫به‬ ‫دادن‬ ‫پایان‬ ‫و‬/*
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬-
‫برنامه‬C99‫مانند‬C++‫شامل‬// single-line comment(‫خطی‬ ‫تک‬ ‫کامنت‬)‫می‬
‫با‬ ‫که‬ ‫چیزی‬ ‫هر‬ ‫که‬ ‫شکلی‬ ‫به‬ ‫شود‬//‫می‬ ‫شروع‬‫نظر‬ ‫در‬ ‫،کامنت‬ ‫خط‬ ‫همان‬ ‫انتهای‬ ‫تا‬ ، ‫شود‬
‫شود‬ ‫می‬ ‫گرفته‬.
‫خط‬ ‫آخر‬ ‫یا‬ ‫اول‬ ‫میتوانند‬ ‫ها‬ ‫کامنت‬(‫ها‬ ‫کد‬ ‫از‬ ‫بعد‬ ‫یا‬ ‫قبل‬)‫بگیرند‬ ‫قرار‬.
‫از‬ ‫استفاده‬ ‫ها‬ ‫نویس‬ ‫برنامه‬ ‫برخی‬//‫م‬ ‫اشتباهات‬ ‫کردن‬ ‫کم‬ ‫و‬ ‫بودن‬ ‫کوتاه‬ ‫دلیل‬ ‫به‬ ‫را‬‫تداول‬
‫ز‬ ‫ا‬ ‫استفاده‬ ‫به‬ ،/*………*/‫می‬ ‫ترجیح‬‫دهند‬.
#include <stdio .h>
‫ی‬ ‫برنامه‬ ‫خود‬ ‫ی‬ ‫پردازنده‬ ‫برای‬ ‫دستور‬ ‫یک‬C((C preprocessor‫است‬.
‫خط‬3
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬-
‫سازی‬ ‫آماده‬ ‫از‬ ‫قبل‬(‫شدن‬ ‫کامپایل‬)‫با‬ ‫که‬ ‫را‬ ‫هایی‬ ‫خط‬ ‫پردازنده‬ ‫پیش‬ ، ‫برنامه‬#‫شرو‬‫ع‬
‫کند‬ ‫می‬ ‫پردازش‬ ‫را‬ ‫میشوند‬.
‫خط‬3‫شامل‬ ‫برنامه‬ ‫محتوای‬ ‫که‬ ‫میدهد‬ ‫نشان‬ ‫پردازنده‬ ‫پیش‬ ‫به‬
standard input/output header (<stdio .h>)
‫باشد‬ ‫می‬.
‫تیتر‬ ‫سر‬ ‫این‬(header)‫سازی‬ ‫آماده‬ ‫هنگام‬ ‫کامپایلر‬ ‫توسط‬ ‫که‬ ‫است‬ ‫اطالعاتی‬ ‫شامل‬
(compiling)‫کتابخانه‬ ‫از‬ ‫تابع‬standard input/output‫شوند‬ ‫می‬ ‫استفاده‬.‫مانند‬
printf
int main ( viod )
‫زبان‬ ‫در‬ ‫برنامه‬ ‫هر‬ ‫از‬ ‫قسمتی‬C‫است‬.
‫از‬ ‫بعد‬ ‫های‬ ‫پرانتز‬main‫که‬ ‫میدهد‬ ‫نشان‬main‫تابع‬ ‫آن‬ ‫به‬ ‫که‬ ‫است‬ ‫برنامه‬ ‫پایه‬ ،
‫گویند‬ ‫می‬.
‫خط‬6
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬-
‫زبان‬ ‫های‬ ‫برنامه‬c‫باید‬ ‫ازآنها‬ ‫یکی‬ ‫که‬ ‫باشند‬ ‫می‬ ‫تابع‬ ‫چند‬ ‫یا‬ ‫یک‬ ‫شامل‬main‫باشد‬.
‫زبان‬ ‫در‬ ‫ای‬ ‫برنامه‬ ‫هر‬C‫تابع‬ ‫اجرای‬ ‫با‬main‫شود‬ ‫می‬ ‫شروع‬.
‫کلیدی‬ ‫ی‬ ‫واژه‬int‫چپ‬ ‫قسمت‬ ‫در‬main‫که‬ ‫دهد‬ ‫می‬ ‫نشان‬main‫صحیح‬ ‫عدد‬ ‫یک‬ ‫تابع‬integer))
‫باشد‬ ‫می‬.
‫فصل‬ ‫در‬ ‫وقتی‬5‫معنای‬ ‫که‬ ‫دهیم‬ ‫می‬ ‫شرح‬ ، ‫بسازید‬ ‫را‬ ‫خود‬ ‫نظر‬ ‫مورد‬ ‫تابع‬ ‫طور‬ ‫چه‬ ‫که‬ ‫دهیم‬ ‫می‬ ‫نشان‬
(return a value)‫چیست‬ ‫تابع‬ ‫یک‬ ‫برای‬ ‫مقدار‬ ‫یک‬ ‫به‬ ‫بازگشت‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬-
‫حاضر‬ ‫حال‬ ‫در‬‫شامل‬ ‫شما‬ ‫ی‬ ‫برنامه‬int‫چپ‬ ‫قسمت‬ ‫در‬main‫باشد‬ ‫می‬.
‫کنند‬ ‫دریافت‬ ‫را‬ ‫اطالعات‬ ‫میتوانند‬ ‫توابع‬.
‫ی‬ ‫کمله‬void‫تابع‬ ‫که‬ ‫است‬ ‫معنی‬ ‫این‬ ‫به‬ ‫پرانتز‬ ‫داخل‬main‫کند‬ ‫نمی‬ ‫دریافت‬ ‫اطالعاتی‬ ‫هیچ‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫برای‬ ‫مفید‬ ‫نکات‬1.2
‫استفاده‬‫هدف‬ ‫دادن‬ ‫شرح‬ ‫برای‬ ‫کامنت‬ ‫از‬‫تابع‬ ‫هر‬
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬-
‫خط‬7:‫با‬ ‫تابع‬ ‫هر‬ ‫ی‬ ‫بدنه‬ ‫شروع‬}‫باشد‬ ‫می‬.
‫خط‬11:‫تابع‬ ‫هر‬ ‫پایان‬ ‫همچنین‬{‫دارد‬ ‫قرار‬.
‫شود‬ ‫می‬ ‫گفته‬ ‫بلوک‬ ‫یک‬ ‫آنها‬ ‫بین‬ ‫های‬ ‫قسمت‬ ‫و‬ ‫ها‬ ‫آکوالد‬ ‫به‬.
printf( “welcome to c!n” );
printf‫عبارت‬ ‫که‬ ‫است‬ ‫کامپیوتری‬ ‫دستور‬ ‫یک‬(string)‫نشان‬ ‫نمایش‬ ‫ی‬ ‫صفحه‬ ‫در‬ ‫را‬
‫دهد‬ ‫می‬.
‫داخل‬ ‫عبارت‬". . . "‫باشد‬ ‫حرف‬ ‫یک‬ ‫یا‬ ‫پیام‬ ‫یک‬ ، ‫کاراکتری‬ ‫رشته‬ ‫یک‬ ‫تواند‬ ‫می‬.
‫خط‬8
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬-
‫شامل‬ ‫خط‬ ‫تمام‬printf‫آرگومان‬ ،(‫فرمت‬ ‫کنترل‬ ‫ی‬ ‫رشته‬)‫و‬ ‫ها‬ ‫پرانتز‬ ‫همراه‬semicolon(;)‫یک‬
‫دارد‬ ‫نام‬ ‫دستور‬.
‫با‬ ‫باید‬ ‫دستور‬ ‫هر‬(;)‫برسد‬ ‫پایان‬ ‫به‬( .semicolon‫نیز‬ ‫دستور‬ ‫ی‬ ‫دهنده‬ ‫پایان‬ ‫عنوان‬ ‫به‬ ‫همچنین‬
‫میشود‬ ‫شناخته‬)
‫دستور‬ ‫که‬ ‫زمانی‬printf‫پیام‬ ‫شود‬ ‫اجرا‬Welcome to c!‫شود‬ ‫می‬ ‫ظاهر‬ ‫صفحه‬ ‫روی‬.
‫بین‬ ‫که‬ ‫همانطور‬ ‫دقیقا‬ ‫معموال‬ ‫کاراکترها‬double quotes()“____”‫دستور‬ ‫در‬printf‫می‬ ‫ظاهر‬
‫یابند‬ ‫می‬ ‫شوند،نمایش‬.
ِ ‫کاراکتر‬ ‫که‬ ‫کنید‬ ‫توجه‬n‫است‬ ‫نشده‬ ‫داده‬ ‫نشان‬ ‫نمایش‬ ‫صفحه‬ ‫روی‬.
Backslash()‫که‬ ‫دهد‬ ‫می‬ ‫نشان‬ ‫و‬ ‫است‬ ‫گریز‬ ‫کاراکتر‬ ‫یک‬printf‫انجام‬ ‫عرف‬ ‫از‬ ‫خارج‬ ‫کاری‬ ‫است‬ ‫قرار‬
‫دهد‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬-
‫با‬ ‫مواجهه‬ ‫هنگام‬backslash‫ترکیب‬ ‫در‬ ‫را‬ ‫ان‬ ‫و‬ ‫خواند‬ ‫می‬ ‫نیز‬ ‫را‬ ‫بعدی‬ ‫کاراکتر‬ ‫کامپایلر‬ ، ‫رشته‬ ‫یک‬ ‫در‬‫با‬
backslash‫دهد‬ ‫می‬ ‫تشکیل‬ ‫را‬ ‫گریز‬ ‫ی‬ ‫رشته‬ ‫یک‬.
‫گریز‬ ‫ی‬ ‫رشته‬n‫جدید‬ ‫خط‬ ‫از‬ ‫شروع‬ ‫یعنی‬.
‫که‬ ‫هنگامی‬newline‫توسط‬ ‫خروجی‬ ‫ی‬ ‫رشته‬ ‫در‬printf‫در‬ ‫گر‬ ‫نشانه‬ ‫که‬ ‫شود‬ ‫می‬ ‫باعث‬ ، ‫شود‬ ‫می‬ ‫ظاهر‬
‫شود‬ ‫ظاهر‬ ‫بعد‬ ‫خط‬ ‫ابتدای‬.
‫بین‬ ‫که‬ ‫همانطور‬ ‫دقیقا‬ ‫معموال‬ ‫کاراکترها‬double quotes()“____”‫دستور‬ ‫در‬printf،‫شوند‬ ‫می‬ ‫ظاهر‬
‫یابند‬ ‫می‬ ‫نمایش‬.
‫فهرست‬ ‫در‬ ‫رایج‬ ‫گریز‬ ‫کاراکترهای‬ ‫از‬ ‫برخی‬‫مثال‬2-2‫اند‬ ‫شده‬ ‫اورده‬:
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫شرح‬‫عالئم‬
‫مثال‬2-2‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬ ‫گریز‬ ‫های‬ ‫کاراکتر‬ ‫برخی‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬-
‫چون‬backslash‫است‬ ‫خاص‬ ‫معنی‬ ‫دارای‬ ‫رشته‬ ‫در‬(‫شناسایی‬ ‫گریز‬ ‫کاراکتر‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫ان‬ ‫کامپایلر‬‫می‬
‫کند‬)‫دو‬ ‫از‬ ،backslash)//(‫یک‬ ‫ایجاد‬ ‫برای‬backslash‫می‬ ‫استفاده‬ ‫رشته‬ ‫در‬‫کنیم‬.
‫از‬ ‫استفاده‬ ‫همچنین‬double quote("___")‫شود‬ ‫می‬ ‫مشکل‬ ‫بروز‬ ‫باعث‬.‫زیرا‬double quote
(“___")‫نشود‬ ‫داده‬ ‫تشخیص‬ ‫آن‬ ‫های‬ ‫قول‬ ‫نقل‬ ‫با‬ ‫رشته‬ ‫یک‬ ‫مرز‬ ‫که‬ ‫شود‬ ‫می‬ ‫باعث‬.
‫گریز‬ ‫رشته‬ ‫از‬ ‫استفاده‬ ‫با‬"‫توسط‬ ‫که‬ ‫رشته‬ ‫یک‬ ‫در‬printf‫شود‬ ‫می‬ ‫تبدیل‬ ‫خروجی‬ ‫به‬،‫دهیم‬ ‫می‬ ‫نشان‬
‫که‬printf‫دهد‬ ‫نمایش‬ ‫رشته‬ ‫خود‬ ‫در‬ ‫را‬ ‫قول‬ ‫نقل‬ ‫عالمت‬ ‫باید‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬-
return 0; /* indicate that program ended successfully */
return0‫اید‬ ‫می‬ ‫به‬ ‫تابعی‬ ‫هر‬ ‫انتهای‬ ‫در‬.
‫دستور‬ ‫که‬ ‫هنگامی‬return‫تابع‬ ‫پایان‬ ‫در‬main‫شود‬ ‫استفاده‬،‫اینجا‬ ‫در‬ ‫که‬ ‫همانطور‬
‫شد‬ ‫داده‬ ‫نشان‬،‫یافت‬ ‫پایان‬ ‫موفقیت‬ ‫با‬ ‫برنامه‬ ‫که‬ ‫دهد‬ ‫می‬ ‫نشان‬ ‫صفر‬ ‫ارزش‬.
‫راست‬ ‫اکوالد‬({)(‫خط‬12)‫تابع‬ ‫که‬ ‫دهد‬ ‫می‬ ‫نشان‬main‫است‬ ‫رسیده‬ ‫پایان‬ ‫به‬.
‫خط‬10
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫برای‬ ‫مفید‬ ‫نکات‬2.2
‫به‬‫شامل‬ ‫که‬ ‫خطی‬(})، ‫است‬‫که‬ ‫بدهید‬ ‫کامنتی‬‫ی‬ ‫همه‬‫را‬ ‫تابع‬
‫کند‬ ‫تمام‬(‫تابع‬ ‫همچنین‬main).
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬-
‫گفتیم‬ ‫که‬ ‫همانطور‬printf‫شود‬ ‫می‬ ‫کامپیوتر‬ ‫توسط‬ ‫کار‬ ‫انجام‬ ‫باعث‬.
، ‫شود‬ ‫می‬ ‫اجرا‬ ‫ای‬ ‫برنامه‬ ‫هر‬ ‫که‬ ‫هنگامی‬‫انجام‬ ‫را‬ ‫هایی‬ ‫گیری‬ ‫تصمیم‬ ‫و‬ ‫دهد‬ ‫می‬ ‫انجام‬ ‫را‬ ‫متفاوتی‬ ‫کارهای‬
‫دهد‬ ‫می‬.
‫بخش‬ ‫در‬3‫کرد‬ ‫خواهیم‬ ‫بحث‬ ‫بیشتر‬ ‫ها‬ ‫گیری‬ ‫تصمیم‬ ‫و‬ ‫ها‬ ‫کار‬ ‫این‬ ‫ی‬ ‫نمونه‬ ‫ی‬ ‫باره‬ ‫در‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬3.2
‫نوشتن‬print‫به‬‫خروجی‬ ‫تابع‬ ‫نام‬ ‫عنوان‬‫بجای‬ ،printf.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬-
‫مانند‬ ‫استاندارد‬ ‫ای‬ ‫کتابخانه‬ ‫توابع‬printf‫و‬scanf‫نویسی‬ ‫برنامه‬ ‫زبان‬ ‫از‬ ‫بخشی‬C‫نیستند‬.
‫در‬ ‫را‬ ‫نگارشی‬ ‫خطای‬ ‫تواند‬ ‫نمی‬ ‫کامپایلر‬ ، ‫مثال‬ ‫عنوان‬ ‫به‬printf‫و‬scanf‫دریابد‬.
‫دستور‬ ‫یک‬ ‫کامپایلر‬ ‫که‬ ‫هنگامی‬printf‫ب‬ ‫فرمان‬ ‫برای‬ ‫نظر‬ ‫مورد‬ ‫برنامه‬ ‫در‬ ‫را‬ ‫فضایی‬ ، ‫کند‬ ‫می‬ ‫کامپایل‬ ‫را‬‫ه‬
‫کند‬ ‫می‬ ‫ایجاد‬ ‫کتابخانه‬ ‫تابع‬.
‫هستند‬ ‫کجا‬ ‫ای‬ ‫کتابخانه‬ ‫توابع‬ ‫که‬ ‫داند‬ ‫نمی‬ ‫کامپایلر‬.‫دانند‬ ‫می‬ ‫ها‬ ‫دهنده‬ ‫پیوند‬ ‫ولی‬.
‫فرم‬ ‫و‬ ‫کنند‬ ‫می‬ ‫شناسایی‬ ‫را‬ ‫ای‬ ‫کاتبخانه‬ ‫توابع‬ ‫مکان‬ ، ‫شوند‬ ‫می‬ ‫اجرا‬ ‫ها‬ ‫دهنده‬ ‫پیوند‬ ‫که‬ ‫هنگامی‬‫های‬ ‫ان‬
‫کنند‬ ‫می‬ ‫درج‬ ‫نظر‬ ‫مورد‬ ‫ی‬ ‫برنامه‬ ‫در‬ ‫را‬ ‫مناسب‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬-
‫اجراست‬ ‫ی‬ ‫آماده‬ ‫و‬ ‫است‬ ‫شده‬ ‫کامل‬ ‫نظر‬ ‫مورد‬ ‫ی‬ ‫برنامه‬ ‫حاال‬.
‫یک‬ ‫شده‬ ‫داده‬ ‫پیوند‬ ‫ی‬ ‫برنامه‬ ، ‫دلیل‬ ‫همین‬ ‫به‬"excutable"‫میشود‬ ‫نامیده‬.
‫کن‬ ‫می‬ ‫شناسایی‬ ‫را‬ ‫خطا‬ ‫این‬ ‫که‬ ‫است‬ ‫دهنده‬ ‫پیوند‬ ،‫باشد‬ ‫داشته‬ ‫نگارشی‬ ‫اشتباه‬ ‫تابع‬ ‫نام‬ ‫اگر‬‫د‬.‫چون‬
‫ی‬ ‫برنامه‬ ‫در‬ ‫نامی‬ ‫تطبیق‬ ‫امکان‬C‫ندارد‬ ‫وجود‬ ‫کتابخانه‬ ‫در‬ ‫تابعی‬ ‫هیچ‬ ‫نام‬ ‫با‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫برای‬ ‫مفید‬ ‫نکات‬3.2
‫بدنه‬‫آکوالد‬ ‫از‬ ‫را‬ ‫تابع‬ ‫ی‬،‫ها‬‫کنند‬ ‫می‬ ‫تعریف‬ ‫را‬ ‫بدنه‬ ‫این‬ ‫که‬،‫یک‬
‫سطح‬‫فاصله‬‫دهید‬(‫سه‬‫می‬ ‫پیشنهاد‬ ‫فاصله‬‫شود‬. )
‫این‬‫ب‬ ‫و‬ ‫کند‬ ‫می‬ ‫تاکید‬ ‫برنامه‬ ‫تابع‬ ‫دستورالعمل‬ ‫بر‬ ‫فاصله‬‫تر‬ ‫راحت‬ ‫ه‬
‫خوانده‬‫می‬ ‫کمک‬ ‫برنامه‬ ‫شدن‬‫کند‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫برای‬ ‫مفید‬ ‫نکات‬4.2
‫میزان‬‫قرارداد‬ ‫را‬ ‫خود‬ ‫نظر‬ ‫مورد‬ ‫ی‬ ‫فاصله‬‫کنید‬‫یکنواخت‬ ‫بطور‬ ‫و‬‫آن‬
‫را‬‫اعمال‬‫کنید‬.‫کلید‬tab‫نیز‬‫فاصله‬ ‫ایجاد‬ ‫برای‬ ‫است‬ ‫ممکن‬
‫شود‬ ‫استفاده‬.‫اما‬‫توقف‬ ‫جایگاه‬tab‫فرق‬ ‫باهم‬ ‫است‬ ‫ممکن‬ ‫ها‬
‫باشند‬ ‫داشته‬.‫ما‬‫پیشنهاد‬ ‫را‬ ‫سطر‬ ‫هر‬ ‫در‬ ‫فاصله‬ ‫سه‬ ‫از‬ ‫استفاده‬
‫کنیم‬ ‫می‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬-
‫تابع‬printf‫میتواند‬Welcome to C !‫دهد‬ ‫نمایش‬ ‫مختلفی‬ ‫های‬ ‫شیوه‬ ‫به‬ ‫را‬
‫مثال‬ ‫ی‬ ‫برنامه‬ ، ‫مثال‬ ‫برای‬3-2‫مثال‬ ‫ی‬ ‫برنامه‬ ‫که‬ ‫دهد‬ ‫می‬ ‫را‬ ‫خروجی‬ ‫همان‬1-2‫کند‬ ‫می‬ ‫ارایه‬.
‫هر‬ ، ‫که‬ ‫است‬ ‫این‬ ‫رخدادی‬ ‫چنین‬ ‫دلیل‬printf‫که‬ ‫جایی‬ ‫از‬ ‫را‬ ‫خود‬ ِ ‫نمایش‬printf‫سر‬ ‫از‬ ‫شده‬ ‫تمام‬ ‫قبلی‬
‫گیرد‬ ‫می‬.
‫اولین‬printf(‫خط‬8)welcome‫دومین‬ ‫و‬ ‫میدهد‬ ‫نمایش‬ ‫را‬ ‫فاصله‬ ‫یک‬ ‫دنبالش‬ ‫به‬ ‫و‬printf(‫خط‬9)
‫شود‬ ‫می‬ ‫داده‬ ‫نمایش‬ ‫فاصله‬ ‫سر‬ ‫پشت‬ ‫خط‬ ‫همان‬ ‫در‬ ‫سریعا‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
1 /* Fig . 2 .3: fig02_3 .c
2 Printing on one line with two printf statements */
3 #include <stdio .h>
4
5 /* function main begins program execution */
6 int main( viod )
7 {
8 printf( “Welcome “ );
9 printf( “to C!n” );
10
11 return 0; /* indicate that program ended successfully */
12 } /* end function main */
Welcome to C!
‫مثال‬3-2‫دستور‬ ‫توسط‬ ‫خط‬ ‫یک‬ ‫نمایش‬printf‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬-
‫یک‬printf‫کاراکتر‬ ‫کردن‬ ‫اضافه‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫را‬ ‫خط‬ ‫چندین‬ ‫میتواند‬newline‫دهد‬ ‫نمایش‬.
(‫مانند‬‫مثال‬4-2)
‫با‬ ‫مواجهه‬ ‫هنگام‬ ‫زمان‬ ‫هر‬newline(‫جدید‬ ‫خط‬ ‫دستور‬)‫یابد‬ ‫می‬ ‫ادامه‬ ‫بعد‬ ‫خط‬ ‫ابتدای‬ ‫از‬ ‫خروجی‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
1 /* Fig . 2 .3: fig02_3 .c
2 Printing on one line with two printf statements */
3 #include <stdio .h>
4
5 /* function main begins program execution */
6 int main( viod )
7 {
8 printf( “WelcomentonC!n “ );
9
10 return 0; /* indicate that program ended successfully */
11 } /* end function main */
Welcome
to
C!
‫مثال‬3-2‫دستور‬ ‫توسط‬ ‫خط‬ ‫یک‬ ‫نمایش‬printf‫را‬‫نشان‬‫می‬‫دهد‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬3-2-‫عدد‬ ‫دو‬ ‫جمع‬-
‫بعدی‬ ‫ی‬ ‫برنامه‬(‫مثال‬3-2)‫ها‬ ‫متغیر‬ ‫استاندارد‬ ‫ی‬ ‫کتابخانه‬ ‫از‬scanf‫متغیر‬ ‫دو‬ ‫تا‬ ‫کند‬ ‫می‬ ‫استفاده‬
‫دو‬ ‫آن‬ ‫جمع‬ ‫مقدار‬ ، ‫کند‬ ‫دریافت‬ ‫را‬ ‫است‬ ‫شده‬ ‫وارد‬ ‫کیبورد‬ ‫ی‬ ‫وسیله‬ ‫به‬ ‫که‬ ‫را‬ ‫کاربر‬ ‫توسط‬ ‫شده‬ ‫وارد‬‫عدد‬
‫دستور‬ ‫ی‬ ‫بوسیله‬ ‫را‬ ‫نتیجه‬ ‫و‬ ‫محاسبه‬ ‫را‬printf‫کند‬ ‫چاپ‬.
]‫مثال‬ ‫خروجی‬ ‫یا‬ ‫ورودی‬ ‫دیالوگ‬ ‫در‬8-2‫را‬ ‫انها‬ ‫کاربر‬ ‫توسط‬ ‫شده‬ ‫وارد‬ ‫عدد‬ ‫دو‬ ‫بر‬ ‫تاکید‬ ‫برای‬ ‫ما‬ ،‫تیره‬‫کرد‬‫ه‬
‫ایم‬.[
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
1 /* Fig . 2 .5: fig02_5 .c
2 Addition program */
3 #include <stdio .h>
4
5 /* function main begins program execution */
6 int main( viod )
7 {
8 int integer1; /* first number to be input by user */
9 int integer2; /* second number to be input by user */
10 int sum; /* variable in which sum will be stored */
11
12 printf( “Enter first integern” ); */ prompt */
13 scanf( “%d” , &integer1 ); /* read an integer */
14
15 printf( “Enter second integern” ); */ prompt */
16 scanf( “%d” , &integer2 ); /* read an integer */
17
18 sum = integer1 + integer2; /* assign total to sum */
19
20 printf( “Sum is %dn “ , sum ); /*print sum */
21
22 return 0; /* indicate that program ended successfully */
23 } /* end function main */
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫مثال‬5-2‫جمع‬ ‫ی‬ ‫برنامه‬(‫بخش‬2‫از‬2)
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬3-2-‫عدد‬ ‫دو‬ ‫جمع‬-
int integer1; /* first number to be input by user */
int integer2; /* second number to be input by user */
int sum; /* variable in which sum will be stored */
‫کنید‬ ‫مشاهده‬ ‫را‬ ‫ها‬ ‫کامنت‬ ‫نقش‬ ‫توانید‬ ‫می‬ ‫باال‬ ‫در‬.
‫های‬ ‫نام‬integer2 , integer1‫و‬sum‫هستند‬ ‫ها‬ ‫متغییر‬ ‫های‬ ‫نام‬ ،.
‫توسط‬ ‫تا‬ ‫شود‬ ‫ذخیره‬ ‫میتواند‬ ‫مقدار‬ ‫یک‬ ‫که‬ ‫جایی‬ ، ‫هست‬ ‫مموری‬ ‫در‬ ‫مکان‬ ‫یک‬ ‫متغییر‬
‫گیرد‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫برنامه‬.
‫های‬ ‫متغییر‬ ‫که‬ ‫میکنن‬ ‫مشخص‬ ‫تعاریف‬ ‫این‬integer2 , integer1‫و‬sum‫نوع‬ ‫از‬int
(‫صحیح‬ ‫اعداد‬)‫میدارند‬ ‫نگه‬ ‫را‬ ‫صحیح‬ ‫مقدار‬ ‫ها‬ ‫متغییر‬ ‫این‬ ‫که‬ ‫معنی‬ ‫این‬ ‫به‬ ، ‫هستند‬.
‫از‬ ‫اعم‬ ‫اعداد‬ ‫کل‬ ‫مثال‬ ‫عنوان‬ ‫به‬:-11،0،31914‫ها‬ ‫این‬ ‫مانند‬ ‫دیگر‬ ‫اعداد‬ ‫و‬.
‫خط‬10-8
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬3-2-‫عدد‬ ‫دو‬ ‫جمع‬-
‫چپ‬ ‫اکوالد‬ ‫از‬ ‫بعد‬ ‫باید‬ ‫ها‬ ‫متغییر‬ ‫تمامی‬}‫ی‬ ‫بدنه‬ ‫که‬main‫شوند‬ ‫تعریف‬ ، ‫میشود‬ ‫شروع‬ ‫انجا‬ ‫از‬.‫قبل‬
‫کرد‬ ‫استفاده‬ ‫انها‬ ‫از‬ ‫برنامه‬ ‫در‬ ‫بتوان‬ ‫اینکه‬ ‫از‬.
‫م‬ ‫مثال‬ ‫مانند‬ ، ‫دهند‬ ‫تشکیل‬ ‫را‬ ‫واحد‬ ‫تعریف‬ ‫یک‬ ‫و‬ ‫شوند‬ ‫ترکیب‬ ‫هم‬ ‫با‬ ‫میتوانند‬ ‫قبلی‬ ‫تعاریف‬‫قابل‬:
int ineger1, integer2, sum;
‫که‬ ‫کاری‬ ‫مانند‬ ، ‫میشود‬ ‫ها‬ ‫کامنت‬ ‫در‬ ‫متغییرها‬ ‫توصیف‬ ‫شدن‬ ‫سخت‬ ‫باعث‬ ‫کار‬ ‫این‬ ‫اما‬‫های‬ ‫خط‬ ‫در‬8-10
‫دادیم‬ ‫انجام‬.
‫زبان‬ ‫در‬ ‫متغییر‬ ‫یک‬ ‫نام‬C‫میشود‬ ‫شامل‬ ‫را‬ ‫معتبر‬ ‫شناساگر‬ ‫هر‬.
‫تیره‬ ‫خط‬ ‫و‬ ‫ارقام‬ ، ‫حروف‬ ‫از‬ ‫شده‬ ‫تشکیل‬ ‫کاراکترهای‬ ‫از‬ ‫سری‬ ‫یک‬ ‫شناساگر‬(_)‫عدد‬ ‫با‬ ‫که‬ ‫میباشد‬‫شروع‬
‫نمیشوند‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬3-2-‫عدد‬ ‫دو‬ ‫جمع‬-
‫تنها‬ ‫اما‬ ، ‫باشد‬ ‫میتواند‬ ‫طولی‬ ‫هر‬ ‫به‬ ‫شناساگر‬ ‫یک‬31‫کامپایلر‬ ‫توسط‬ ‫تا‬ ‫است‬ ‫نیاز‬ ‫ان‬ ‫اول‬ ‫کاراکتر‬C
‫زبان‬ ‫استاندارد‬ ‫مطابق‬ ‫شود‬ ‫شناخته‬C.
‫زبان‬C‫است‬ ‫حروف‬ ‫به‬ ‫حساس‬___‫زبان‬ ‫در‬ ‫کوچک‬ ‫و‬ ‫بزرگ‬ ‫حروف‬C‫پس‬ ، ‫هستند‬ ‫متفاوت‬a1‫با‬A1
‫هستند‬ ‫متفاوت‬ ‫شناساگر‬ ‫دو‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬4.2
‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫کوچک‬ ‫حرف‬ ‫باید‬ ‫که‬ ‫جایی‬ ‫در‬ ‫بزرگ‬ ‫حروف‬ ‫از‬ ‫استقاده‬‫گیر‬‫د‬
(‫برای‬، ‫مثال‬Main‫بجای‬main)
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫خطا‬ ‫وقوع‬ ‫از‬ ‫جلوگیری‬ ‫برای‬ ‫نکته‬1.2
‫تیره‬ ‫خط‬ ‫از‬ ‫استفاده‬ ‫در‬ ‫پرهیز‬(_)‫ابتدای‬ ‫در‬‫شناساگر‬‫جلوگی‬ ‫برای‬ ‫ها‬‫از‬ ‫ری‬
‫قاطی‬‫کتاب‬ ‫و‬ ‫کامپایلر‬ ‫ی‬ ‫شده‬ ‫تعیین‬ ‫پیش‬ ‫از‬ ‫شناساگرهای‬ ‫با‬ ‫شدن‬‫ی‬ ‫خانه‬
‫شناساگرها‬ ‫استاندارد‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نکته‬1.2
‫شناساگرهای‬ ‫از‬31‫استفاده‬ ‫کمتر‬ ‫یا‬ ‫کاراکتری‬‫کنید‬.‫اطمین‬ ‫باعث‬ ‫این‬‫ان‬
‫در‬
‫شود‬ ‫می‬ ‫شناساگر‬ ‫نوشتن‬ ‫درست‬‫نوی‬ ‫برنامه‬ ‫نامحسوس‬ ‫خطاهای‬ ‫از‬ ‫و‬‫سی‬
‫کند‬ ‫می‬ ‫جلوگیر‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫برای‬ ‫مفید‬ ‫نکات‬5.2
‫انتخاب‬‫با‬ ‫نام‬‫معنی‬‫برن‬ ‫یک‬ ‫تا‬ ‫میکند‬ ‫کمک‬ ‫ها‬ ‫متغییر‬ ‫برای‬‫امه‬‫ی‬
‫مستند‬‫داشته‬‫ک‬ ‫توضیحات‬ ‫آن‬ ‫های‬ ‫ویژگی‬ ‫از‬ ‫یکی‬ ‫که‬ ‫باشیم‬‫در‬ ‫متر‬
‫است‬ ‫برنامه‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫برای‬ ‫مفید‬ ‫نکات‬6.2
‫بای‬ ‫میشود‬ ‫استفاده‬ ‫شناساگر‬ ‫عنوان‬ ‫به‬ ‫که‬ ‫ای‬ ‫کلمه‬ ‫اول‬ ‫حرف‬‫د‬
‫کوچک‬‫باشد‬.‫شناساگرها‬ ‫به‬ ‫ای‬ ‫ویژه‬ ‫اهمیت‬ ‫متن‬ ‫در‬ ‫ما‬ ‫جلوتر‬‫ی‬
‫خروف‬ ‫از‬ ‫که‬ ‫شناساگرهایی‬ ‫به‬ ‫و‬ ‫میشوند‬ ‫شروع‬ ‫بزرگ‬ ‫حرف‬ ‫با‬ ‫که‬
‫میدهیم‬ ‫میکنند‬ ‫استفاده‬ ‫بزرگ‬ ‫تمام‬
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫برای‬ ‫مفید‬ ‫نکات‬7.2
‫استفاده‬‫ها‬ ‫متغییر‬ ‫برای‬ ‫اند‬ ‫شده‬ ‫تشکیل‬ ‫کلمه‬ ‫چند‬ ‫از‬ ‫که‬ ‫هایی‬ ‫نام‬ ‫از‬‫ک‬ ،‫مک‬
‫داشته‬ ‫خواناتری‬ ‫ی‬ ‫برنامه‬ ‫تا‬ ‫میکند‬‫باشیم‬.‫از‬‫از‬ ‫جدا‬ ‫کلمات‬ ‫چسباندن‬‫به‬ ‫هم‬
، ‫کنید‬ ‫پرهیز‬ ‫یکدیگر‬‫مانند‬totalcomissions.
‫ترجیحا‬‫کنید‬ ‫جدا‬ ‫هم‬ ‫از‬ ‫تیره‬ ‫خط‬ ‫با‬ ‫را‬ ‫کلمات‬‫مانند‬total_commissions‫یا‬ ،
‫ر‬ ‫دوم‬ ‫ی‬ ‫کلمه‬ ‫اول‬ ‫حرف‬ ، ‫بنویسید‬ ‫چسبیده‬ ‫هم‬ ‫به‬ ‫را‬ ‫کلمات‬ ‫میخواهید‬ ‫اگر‬‫با‬ ‫ا‬
، ‫بنویسید‬ ‫بزرگ‬ ‫حرف‬‫مانند‬totalCommissions.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬3-2-‫عدد‬ ‫دو‬ ‫جمع‬-
‫گیرند‬ ‫قرار‬ ‫دستوری‬ ‫عبارت‬ ‫هر‬ ‫از‬ ‫قبل‬ ‫و‬ ‫تابع‬ ‫چپ‬ ‫براکت‬ ‫از‬ ‫بعد‬ ‫باید‬ ‫تعاریف‬.
‫دهد‬ ‫تشخیص‬ ‫را‬ ‫عبارت‬ ‫یک‬ ‫نتواند‬ ‫کامپایلر‬ ‫که‬ ‫میافتد‬ ‫اتفاق‬ ‫زمانی‬ ‫نوشتاری‬ ‫خطای‬.
‫ت‬ ‫را‬ ‫آن‬ ‫و‬ ‫کرده‬ ‫پیدا‬ ‫را‬ ‫نادرست‬ ‫عبارت‬ ‫مکان‬ ‫شما‬ ‫تا‬ ‫میدهد‬ ‫نمایش‬ ‫را‬ ‫خطایی‬ ‫پیغام‬ ‫معموال‬ ‫کامپایلر‬‫صحیح‬
‫کنید‬.‫هستند‬ ‫زبان‬ ‫در‬ ‫هایی‬ ‫نقض‬ ‫نوشتاری‬ ‫خطاهای‬.
‫میشو‬ ‫شناخته‬ ‫نیز‬ ‫کامپایل‬ ‫هنگام‬ ‫به‬ ‫خطای‬ ‫و‬ ‫کامپایلر‬ ‫خطای‬ ‫عنوان‬ ‫به‬ ‫همچنین‬ ‫نوشتاری‬ ‫خطاهای‬‫ند‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬5.2
‫قرار‬‫تعاریف‬ ‫دادن‬‫متغیرها‬‫خطای‬ ‫باعث‬ ‫اجرایی‬ ‫های‬ ‫عبارت‬ ‫بین‬ ‫در‬
‫میشود‬ ‫نوشتاری‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫برای‬ ‫مفید‬ ‫نکات‬8.2
‫که‬ ‫این‬ ‫بر‬ ‫تاکید‬ ‫برای‬ ، ‫تابع‬ ‫در‬ ‫را‬ ‫اجرایی‬ ‫های‬ ‫عبارت‬ ‫و‬ ‫تعاریف‬
‫تعاریف‬‫شروع‬ ‫کجا‬ ‫در‬ ‫اجرایی‬ ‫های‬ ‫عبارت‬ ‫و‬ ‫میابد‬ ‫پایان‬ ‫کجا‬ ‫در‬
‫میشوند‬‫جدا‬ ‫هم‬ ‫از‬ ‫خالی‬ ‫خط‬ ‫یک‬ ‫ی‬ ‫وسیله‬ ‫به‬ ،‫کنید‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬3-2-‫عدد‬ ‫دو‬ ‫جمع‬-
‫خط‬12
Printf( “Enter first integern” ); /* prompt */
‫عبارت‬Enter first integer‫دهد‬ ‫می‬ ‫قرار‬ ‫بعدی‬ ‫خط‬ ‫سر‬ ‫در‬ ‫را‬ ‫گر‬ ‫نشانه‬ ‫و‬ ‫میکند‬ ‫چاپ‬ ‫صفحه‬ ‫روی‬ ‫را‬.
‫پیغام‬ ‫این‬ ‫به‬prompt‫دهد‬ ‫می‬ ‫فرمان‬ ‫را‬ ‫کاری‬ ‫انجام‬ ‫کاربر‬ ‫به‬ ‫زیرا‬ ، ‫میشود‬ ‫گفته‬.
‫بعدی‬ ‫عبارت‬
scanf( “%d”, &integer1 ); /*read an integer */
‫از‬scanf‫میشود‬ ‫استفاده‬ ‫کاربر‬ ‫از‬ ‫مقدار‬ ‫یک‬ ‫دریافت‬ ‫برای‬.
‫تابع‬scanf‫میکند‬ ‫دریافت‬ ‫است‬ ‫کیبورد‬ ‫معموال‬ ‫که‬ ، ‫استاندارد‬ ‫ورودی‬ ‫از‬ ‫را‬ ‫مقدار‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫برنامه‬3-2-‫جمع‬2‫عدد‬‫صحیح‬-
‫دستور‬scanf‫عبارت‬ ‫دو‬ ‫شامل‬"d%"‫و‬integer1%‫باشد‬ ‫می‬.
.‫اول‬ ‫عبارت‬‫فرمت‬ ‫کنترل‬ ‫رشته‬‫کند‬ ‫می‬ ‫مشخص‬ ‫را‬ ‫شود‬ ‫وارد‬ ‫کاربر‬ ‫توسط‬ ‫باید‬ ‫که‬.
‫معین‬ ‫مبدل‬d%‫عدد‬ ‫نوع‬ ‫از‬ ‫باید‬ ‫داده‬ ‫نوع‬ ‫که‬ ‫کند‬ ‫می‬ ‫تعیین‬‫صحیح‬‫باشد‬.
‫حرف‬d‫اعشاری‬ ‫صحیح‬ ‫عدد‬ ‫معنای‬ ‫به‬(Decimal)‫است‬.
‫درصد‬ ‫عالمت‬ ‫جا‬ ‫این‬ ‫در‬)%(‫توسط‬) scanf‫و‬printf‫دید‬ ‫خواهیم‬ ‫ها‬ ‫بعد‬ ‫که‬)‫کاراکتر‬ ‫یک‬ ‫عنوان‬ ‫به‬
‫یک‬ ‫که‬ ‫شود‬ ‫می‬ ‫شناخته‬ ‫خاص‬‫معین‬ ‫مبدل‬‫کند‬ ‫می‬ ‫معرفی‬ ‫را‬.
‫عبارت‬ ‫دومین‬scanf‫َمپرساند‬‫ا‬ ‫یک‬ ‫با‬(&)‫شود‬ ‫می‬ ‫شروع‬(‫در‬ ‫آن‬ ‫به‬ ‫که‬C‫آدرس‬ ‫عملگر‬‫گویند‬ ‫می‬)
‫آید‬ ‫می‬ ‫متغیر‬ ‫نام‬ ‫آن‬ ‫بعد‬ ‫و‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫برنامه‬3-2-‫جمع‬2‫عدد‬‫صحیح‬-
‫شود‬ ‫ادغام‬ ‫متغیر‬ ‫نام‬ ‫با‬ ‫وقتی‬ ‫امپرساند‬scanf‫متغیر‬ ‫که‬ ‫آدرسی‬ ‫از‬ ‫را‬Integer1‫ذخیره‬ ‫حافظه‬ ‫در‬
‫سازد‬ ‫می‬ ‫مطلع‬ ‫است‬ ‫شده‬.
‫مقدار‬ ‫کامپیوتر‬ ‫نتیجه‬ ‫در‬integer1‫کند‬ ‫می‬ ‫ذخیره‬ ‫آن‬ ‫در‬ ‫را‬.
‫امپرساند‬ ‫از‬ ‫استفاده‬(&)‫دیگ‬ ‫های‬ ‫زبان‬ ‫نویسان‬ ‫برنامه‬ ‫یا‬ ‫مبتدی‬ ‫نویسان‬ ‫برنامه‬ ‫برای‬ ً‫ال‬‫معمو‬‫این‬ ‫از‬ ‫که‬ ‫ر‬
‫است‬ ‫کننده‬ ‫سردرگم‬ ، ‫کنند‬ ‫نمی‬ ‫استفاده‬ ‫عبارت‬.
‫به‬ ‫متغیری‬ ‫هر‬ ‫شناساندن‬ ‫از‬ ‫قبل‬ ً‫ال‬‫فع‬ ‫که‬ ‫باشید‬ ‫داشته‬ ‫خاطر‬ ‫به‬ ‫فقط‬scanf‫بیاید‬ ‫امپرساند‬ ‫باید‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نکات‬‫مفید‬‫برای‬‫برنامه‬‫نویسی‬9.2
‫برای‬‫هر‬ ‫از‬ ‫بعد‬ ‫متن‬ ‫شدن‬ ‫خواناتر‬‫کاما‬(,)‫فاصله‬‫بگذارید‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬3-2-‫جمع‬2‫عدد‬‫صحیح‬-
‫کامپیوتر‬ ‫وقتی‬scanf‫متغیر‬ ‫برای‬ ‫مقداری‬ ‫تا‬ ‫ماند‬ ‫می‬ ‫کاربر‬ ‫منتظر‬ ‫کند‬ ‫می‬ ‫اجرا‬ ‫را‬integer1‫کند‬ ‫وارد‬.
‫دکمه‬ ‫بعد‬ ‫دهد‬ ‫می‬ ‫پاسخ‬ ‫صحیح‬ ‫مقدار‬ ‫یک‬ ‫کردن‬ ‫تایپ‬ ‫با‬ ‫کاربر‬Enter‫کامپیوتر‬ ‫به‬ ‫عدد‬ ‫دادن‬ ‫برای‬ ‫را‬
‫دهد‬ ‫می‬ ‫فشار‬.
‫متغیر‬ ‫برای‬ ‫را‬ ‫مقدار‬ ‫این‬ ‫کامپیوتر‬ ‫بعد‬integer1‫شود‬ ‫می‬ ‫قائل‬.
‫از‬ ‫سخن‬ ‫جا‬ ‫هر‬ ‫برنامه‬ ‫در‬ ‫این‬ ‫از‬ ‫بعد‬integer1‫داشت‬ ‫خواهد‬ ‫را‬ ‫مقدار‬ ‫همین‬ ‫بیاید‬.
‫توابع‬printf‫و‬scanf‫دهد‬ ‫می‬ ‫بنیان‬ ‫کامپیوتر‬ ‫و‬ ‫کاربر‬ ‫بین‬ ‫تعامل‬ ‫به‬.
‫محاس‬ ‫یا‬ ‫تعاملی‬ ‫محاسبه‬ ‫آن‬ ‫به‬ ً‫ال‬‫معمو‬ ‫آورد‬ ‫می‬ ‫یاد‬ ‫به‬ ‫را‬ ‫گو‬ ‫و‬ ‫گفت‬ ‫یا‬ ‫دیالوگ‬ ‫یک‬ ‫تعامل‬ ‫این‬ ‫چون‬‫به‬
‫گویند‬ ‫می‬ ‫ای‬ ‫محاوره‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬3-2-‫جمع‬2‫عدد‬‫صحیح‬-
‫خط‬15printf( "Enter second integer n“ ); /* prompt */
‫پیام‬'‫کنید‬ ‫وارد‬ ‫را‬ ‫دوم‬ ‫صحیح‬ ‫عدد‬'‫ن‬ ‫مکان‬ ‫بعد‬ ،‫دهد‬ ‫می‬ ‫نمایش‬ ‫صفحه‬ ‫روی‬ ‫را‬‫ما‬
‫دهد‬ ‫می‬ ‫قرار‬ ‫بعدی‬ ‫خط‬ ‫سر‬ ‫را‬.
‫این‬printf‫دارد‬ ‫عمل‬ ‫درخواست‬ ‫کاربر‬ ‫از‬ ‫نیز‬.
‫عبارت‬ ‫این‬:
scanf( "%d" , &integer2 ); /* read an integer */
‫گیرد‬ ‫می‬ ‫دوم‬ ‫ّر‬‫ی‬‫متغ‬ ‫برای‬ ‫مقدار‬ ‫یک‬ ‫کاربر‬ ‫از‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬3-2-‫جمع‬2‫عدد‬‫صحیح‬-
‫خط‬ ‫در‬ ‫انتساب‬ ‫عبارت‬18
sum = integer1 + integer2 ; /* assign total to sum */
‫متغیر‬ ‫دو‬ ‫جمع‬integer1‫و‬integer2‫ّر‬‫ی‬‫متغ‬ ‫به‬ ‫را‬ ‫حاصل‬ ‫و‬ ‫کند‬ ‫می‬ ‫محاسبه‬ ‫را‬sum، ‫جمع‬ ‫همان‬ ‫یا‬
‫انتسابی‬ ‫عملگر‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫دهد‬ ‫می‬ ‫انتساب‬. ) = (
،‫شود‬ ‫می‬ ‫خوانده‬ ‫شکل‬ ‫این‬ ‫به‬ ‫عبارت‬ ‫عبارت‬"‫یا‬ ‫جمع‬sum‫مقدار‬integer1 + integer2“‫گیرد‬ ‫می‬ ‫را‬.
‫شوند‬ ‫می‬ ‫انجام‬ ‫ها‬ ‫انتساب‬ ‫در‬ ‫محاسبات‬ ‫بیشتر‬.
‫عملگر‬=‫عملگر‬ ‫و‬+‫دویی‬ ‫دو‬ ‫های‬ ‫عملگر‬ ،(binary)‫دارند‬ ‫عملوند‬ ‫دو‬ ‫کدام‬ ‫هر‬ ‫زیرا‬ ‫شوند‬ ‫می‬ ‫شناخته‬
.
‫عملگر‬ ِ‫د‬‫عملون‬ ‫دو‬+،integer1‫و‬integer2‫هستند‬.
‫عملگر‬ ‫عملوند‬ ‫دو‬=،sum‫عبارت‬ ‫حاصل‬ ‫عددی‬ ‫مقدار‬ ‫و‬ ‫جمع‬ ‫یا‬integer1 + integer2‫هستند‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نکات‬‫مفید‬‫برای‬‫برنامه‬‫نویسی‬10.2
‫در‬‫فاصله‬ ‫دودویی‬ ‫عملگر‬ ‫یک‬ ‫طرف‬ ‫دو‬‫بگذارید‬.‫برنام‬ ‫کار‬ ‫این‬‫را‬ ‫ه‬
‫شود‬ ‫می‬ ‫باعث‬ ‫و‬ ‫کند‬ ‫می‬ ‫خواناتر‬‫شود‬ ‫ظاهر‬ ‫تر‬ ‫واضح‬ ‫عملگر‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬6.2
‫محاسبه‬‫عملگر‬ ‫راست‬ ‫سمت‬ ‫در‬ ‫باید‬ ‫انتسابی‬ ‫عبارت‬ ‫یک‬ ‫در‬() =
‫گیرد‬ ‫قرار‬.
‫اگر‬‫داد‬ ‫قرار‬ ‫انتسابی‬ ‫عملگر‬ ‫یک‬ ‫چپ‬ ‫سمت‬ ‫در‬ ‫را‬ ‫محاسبه‬ ‫جواب‬‫ه‬
‫شود‬‫کردن‬ ‫کامپایل‬ ‫در‬‫با‬‫مشکل‬(error)‫شود‬ ‫می‬ ‫مواجه‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫ساده‬ ‫ی‬ ‫برنامه‬3-2-‫جمع‬2‫عدد‬‫صحیح‬-
‫خط‬20Printf( "sum is %dn“ , sum ); /* print sum */
‫متغیر‬ ‫بخواهید‬ ‫اینکه‬ ‫منظور‬ ‫به‬sum‫خروجی‬ ‫در‬ ‫آن‬ ‫واقعی‬ ‫مقدار‬ ‫صورت‬ ‫به‬ ‫را‬
‫دستور‬ ‫از‬ ‫باید‬ ‫دهید‬ ‫نمایش‬printf‫کنید‬ ‫استفاده‬.
‫دستور‬printf‫دارای‬2‫آرگومان‬(‫عبارت‬)‫است‬."sum is %dn"‫و‬sum.
‫باشد‬ ‫می‬ ‫داده‬ ‫فرمت‬ ‫یا‬ ‫داده‬ ‫نوع‬ ‫کنترل‬ ‫رشته‬ ‫آرگومان‬ ‫اولین‬.
‫د‬ ‫نمایش‬ ‫نیز‬ ‫خروجی‬ ‫در‬ ‫که‬ ‫باشد‬ ‫می‬ ‫الفبایی‬ ‫های‬ ‫کارکتر‬ ‫شامل‬ ‫آرگومان‬ ‫این‬‫اده‬
‫است‬ ‫معین‬ ‫مبدل‬ ‫شامل‬ ‫همچنین‬ ‫میشوند‬.‫مثال‬ ‫طور‬ ‫به‬%d‫که‬ ‫دهد‬ ‫می‬ ‫نشان‬
‫شود‬ ‫می‬ ‫داده‬ ‫نمایش‬ ‫خروجی‬ ‫در‬ ‫صحیح‬ ‫عدد‬ ‫یک‬.
‫شود‬ ‫چاپ‬ ‫باید‬ ‫عبارت‬ ‫یا‬ ‫مقدار‬ ‫کدام‬ ‫کند‬ ‫می‬ ‫معین‬ ‫آرگومان‬ ‫دومین‬.
‫توجه‬:‫در‬ ‫باید‬ ‫معین‬ ‫مبدل‬printf‫و‬scanf‫باشد‬ ‫یکسان‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫ساده‬ ‫ی‬ ‫برنامه‬3-2-‫جمع‬2‫عدد‬‫صحیح‬-
‫نوشت‬ ‫خط‬ ‫یک‬ ‫در‬ ‫را‬ ‫دستور‬ ‫دو‬ ‫توان‬ ‫می‬ ‫نویسی‬ ‫کد‬ ‫عملیات‬ ‫سازی‬ ‫ساده‬ ‫برای‬.‫به‬
‫متغیر‬ ‫از‬ ‫استفاده‬ ‫جای‬ ‫به‬ ‫مثال‬ ‫طور‬sum‫از‬ ‫توان‬ ‫می‬int1 + int2‫کرد‬ ‫استفاده‬.
‫کنید‬ ‫توجه‬ ‫زیر‬ ‫مثال‬ ‫به‬:
Printf( "sum is %dn" , int1 + int2 );
Return 0; /* indicate that program ended successfully */
‫مقدار‬ ‫که‬ ‫وقتی‬0‫ب‬ ‫برنامه‬ ‫که‬ ‫معناست‬ ‫این‬ ‫به‬ ‫گردد‬ ‫می‬ ‫بر‬ ‫عامل‬ ‫سیستم‬ ‫به‬‫ا‬
‫موفقیت‬‫است‬ ‫شده‬ ‫اجرا‬.
‫گون‬ ‫هر‬ ‫یا‬ ‫غلط‬ ‫اجرای‬ ‫به‬ ‫نسبت‬ ‫برنامه‬ ‫واکنش‬ ‫مورد‬ ‫در‬ ‫بیشتر‬ ‫اطالعات‬ ‫برای‬‫ه‬
‫فرمایید‬ ‫مراجعه‬ ‫خود‬ ‫عامل‬ ‫سیستم‬ ‫مخصوص‬ ‫راهنمای‬ ‫به‬ ‫مشکل‬.
‫خط‬ ‫در‬24‫راست‬ ‫آکوالد‬({)‫اصلی‬ ‫تابع‬ ‫عملیات‬ ‫که‬ ‫است‬ ‫آن‬ ‫ی‬ ‫دهنده‬ ‫نشان‬
(main)‫است‬ ‫رسیده‬ ‫پایان‬ ‫به‬.
‫خط‬22
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬7.2
‫فراموش‬‫دو‬ ‫یا‬ ‫یک‬ ‫از‬ ‫استفاده‬ ‫کردن‬( " )‫کنترل‬ ‫رشته‬ ‫طرفین‬ ‫در‬
‫فرمت‬‫یک‬ ‫در‬printf‫یا‬scanf.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬8.2
‫کردن‬ ‫فراموش‬‫از‬ ‫استفاده‬%‫رشته‬ ‫درون‬ ‫در‬ ‫معین‬ ‫مبدل‬ ‫یک‬ ‫در‬
‫فرمت‬ ‫کنترل‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬9.2
‫فاصله‬‫کنترل‬ ‫رشته‬ ‫از‬ ‫عباراتی‬ ‫گذاشتن‬ ‫بیرون‬ ‫یا‬ ‫انداختن‬‫فرمت‬
‫همچون‬n.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬10.2
‫فراموش‬‫ک‬ ‫کند‬ ‫می‬ ‫مشخص‬ ‫که‬ ‫اصطالحاتی‬ ‫کردن‬ ‫اضافه‬ ‫کردن‬‫دام‬
‫مقادیر‬‫در‬ ‫شوند‬ ‫داده‬ ‫نشان‬ ‫باید‬printf‫های‬ ‫مبدل‬ ‫شامل‬ ‫که‬
‫معین‬(%d - %e - %f …)‫است‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬11.2
‫کنت‬ ‫رشته‬ ‫یک‬ ‫در‬ ‫نیاز‬ ‫مورد‬ ‫معین‬ ‫مبدل‬ ‫یک‬ ‫نگرفتن‬ ‫کار‬ ‫به‬‫رل‬
‫فرمت‬‫نشان‬ ‫را‬ ‫پارامتر‬ ‫یک‬ ‫مقدار‬ ‫خواهیم‬ ‫می‬ ‫که‬ ‫وقتی‬‫دهیم‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬12.2
‫ویرگول‬ ‫گذاشتن‬(,)‫باید‬ ‫که‬ ‫حالی‬ ‫در‬ ‫فرمت‬ ‫کنترل‬ ‫رشته‬ ‫بین‬‫بی‬‫ن‬
‫پارامتری‬‫فرمت‬ ‫کنترل‬ ‫رشته‬ ‫و‬ ‫شود‬ ‫پرینت‬ ‫خواهد‬ ‫می‬ ‫که‬‫گ‬ ‫قرار‬‫یرد‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬13.2
‫ب‬ ‫داده‬ ‫خواندن‬ ‫زمان‬ ‫در‬ ‫صریح‬ ‫تبدیل‬ ‫اشتباه‬ ‫شکل‬ ‫از‬ ‫استفاده‬‫ا‬
‫دستور‬. scanf
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬14.2
‫عبارت‬ ‫بر‬ ‫متغیر‬ ‫ارزش‬ ‫تقدم‬ ‫کردن‬ ‫فراموش‬&‫دستور‬ ‫در‬ ،scanf
‫در‬‫عبارت‬ ‫بر‬ ‫باید‬ ‫متغیر‬ ‫که‬ ‫وقتی‬ ، ‫جمله‬&‫داشته‬ ‫تقدم‬‫باش‬‫د‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬15.2
‫دستور‬ ‫عبارت‬ ‫در‬ ‫موجود‬ ‫متغیر‬ ‫تقدم‬printf‫عبارت‬ ‫بر‬&‫هنگامی‬ ،
‫که‬‫نباید‬ ‫متغیر‬‫بر‬&‫داشته‬ ‫تقدم‬‫باشد‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫درسنامه‬3-2-‫حافظه‬ ‫مفهوم‬-
‫مانند‬ ‫ها‬ ‫متغیر‬ ‫اسامی‬:integer1 , integer2‫و‬sum‫ی‬ ‫حافظه‬ ‫در‬ ‫قرارگیریشان‬ ‫محل‬ ‫با‬ ‫باید‬ ‫واقع‬ ‫در‬ ،
‫باشند‬ ‫داشته‬ ‫همخوانی‬ ، ‫سیستم‬.
‫نام‬ ‫یک‬ ‫دارای‬ ‫متغیر‬ ‫هر‬(name)‫نوع‬ ‫یک‬ ،(type)‫مقدار‬ ‫یک‬ ‫و‬(value)‫است‬.
‫ی‬ ‫برنامه‬ ‫در‬"‫جمع‬"‫مثال‬ ‫در‬5-2‫عبارت‬ ‫در‬(‫خط‬13: )
Scanf( “%d” , &integer1) ; /* read an integer */
‫نام‬ ‫با‬ ‫و‬ ‫شده‬ ‫نوشته‬ ‫حافظه‬ ‫محل‬ ‫در‬ ‫کاربر‬ ‫توسط‬ ‫که‬ ‫مقداری‬integer1‫میشود‬ ‫اجرا‬ ، ‫میشود‬ ‫شناخته‬.
‫عدد‬ ، ‫کاربر‬45‫برای‬ ‫مقدار‬ ‫عنوان‬ ‫به‬ ‫را‬integer1‫است‬ ‫گرفته‬ ‫نظر‬ ‫در‬.
‫عدد‬ ، ‫کامپیوتر‬45‫محل‬ ‫در‬ ‫را‬integer1‫در‬ ‫که‬ ‫شکلی‬ ‫،به‬ ‫کرد‬ ‫خواهد‬ ‫جاگذاری‬‫مثال‬6-2‫داده‬ ‫نشان‬
‫است‬ ‫شده‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
45Integer 1
‫مثال‬6-2‫حافظه‬‫نمایش‬ ‫را‬ ‫متغیر‬ ‫مقدار‬ ‫و‬ ‫اسم‬ ،‫میدهد‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫درسنامه‬4-2-‫حافظه‬ ‫مفهوم‬-
‫مقداری‬ ‫که‬ ‫جایی‬ ‫هر‬(‫جدید‬)‫در‬ ‫قبلی‬ ‫مقدار‬ ‫روی‬ ‫بر‬ ، ‫مقدار‬ ‫آن‬ ،‫بگیرد‬ ‫قرار‬ ‫حافظه‬ ‫در‬
‫میشود‬ ‫جایگزین‬ ‫حافظه‬;‫به‬ ‫که‬ ‫میدهد‬ ‫حافظه‬ ‫به‬ ‫را‬ ‫جدید‬ ‫مقدار‬ ، ‫که‬ ‫ترتیب‬ ‫این‬ ‫به‬
‫عمل‬ ‫این‬“destructive”(‫جایگزینی‬)‫میشود‬ ‫گفته‬.
‫برنامه‬ ‫به‬ ‫دوباره‬"‫جمع‬"‫عبارت‬ ‫در‬ ، ‫برگردیم‬ ‫خودمان‬:
scanf( “%d” , &integer2) ; /* read an integer */
‫عدد‬72‫میکند‬ ‫اجرا‬ ‫را‬ ‫کرده‬ ‫فرض‬ ‫کاربر‬ ‫که‬ ‫را‬.
‫محل‬ ‫در‬ ، ‫مقدار‬ ‫این‬integer2‫میشود‬ ‫ظاهر‬ ‫حافظه‬ ‫در‬ ‫و‬ ، ‫میگیرد‬ ‫قرار‬.
‫مانند‬‫مثال‬7-2
‫باشند‬ ‫حافظه‬ ‫نزدیک‬ ‫که‬ ‫ندارند‬ ‫لزومی‬ ، ‫ها‬ ‫محل‬ ‫این‬.
‫خط‬16
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫درسنامه‬4-2-‫حافظه‬ ‫مفهوم‬-
‫برای‬ ‫را‬ ‫مقدار‬ ‫برنامه‬ ‫که‬ ‫بار‬ ‫اولین‬integer1‫و‬integer2‫آنها‬ ‫مجموع‬ ، ‫آورده‬ ‫بدست‬
‫متغیر‬ ‫در‬ ‫و‬ ‫محاسبه‬ ‫را‬sum‫میدهد‬ ‫قرار‬.
‫عبارت‬:
Sum = integer1 + integer2 ; /* assign total to sum */
‫در‬ ‫که‬ ‫مقداری‬ ‫هر‬ ‫بجای‬ ‫و‬ ‫میشود‬ ‫انجام‬ ‫جمع‬ ‫عمل‬sum‫جایگزین‬ ، ‫باشد‬ ‫شده‬ ‫ذخیره‬
‫شود‬ ‫می‬.
‫خط‬18
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫درسنامه‬3-2-‫حافظه‬ ‫مفهوم‬-
‫متغیر‬ ‫دو‬ ‫مقادیر‬ ‫مجموع‬ ‫که‬ ‫میدهد‬ ‫رخ‬ ‫وقتی‬ ‫اتفاق‬ ‫این‬integer1‫و‬integer2‫محل‬ ‫در‬ ‫و‬ ‫شده‬ ‫محاسبه‬
sum‫بگیرد‬ ‫قرار‬.)‫قبلی‬ ‫مقدار‬ ‫جایگزین‬ ، ‫مقدار‬ ‫این‬sum‫شود‬ ‫می‬)
‫اینکه‬ ‫از‬ ‫پس‬sum‫میشود‬ ‫ظاهر‬ ‫حافظه‬ ، ‫شد‬ ‫محاسبه‬.
‫مانند‬‫مثال‬8-2
‫مقدار‬integer1‫و‬integer2، ‫بود‬ ‫شده‬ ‫استفاده‬ ‫محاسبه‬ ‫در‬ ‫آنها‬ ‫از‬ ‫قبال‬ ‫که‬ ‫مقادیری‬ ‫مثل‬ ‫دقیقا‬ ،
‫میشود‬ ‫ظاهر‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
45
72
integer 1
integer 2
‫مثال‬7-2‫سپس‬‫وارد‬ ‫را‬ ‫مقدار‬ ‫دو‬ ‫هر‬ ‫حافظه‬ ‫در‬‫میشود‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
45
72
integer 1
integer 2
‫مثال‬7-2‫محاسبه‬ ‫حافظه‬ ‫در‬ ‫سپس‬‫میشود‬ ‫انجام‬.
117sum
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫درسنامه‬4-2-‫حافظه‬ ‫مفهوم‬-
‫میدهد‬ ‫انجام‬ ‫را‬ ‫محاسبه‬ ‫کامپیوتر‬ ‫که‬ ‫زمانی‬ ‫در‬ ، ‫شوند‬ ‫نمی‬ ‫جایگزین‬ ‫اما‬ ، ‫شود‬ ‫می‬ ‫استفاده‬ ‫آنها‬ ‫از‬.
‫پردازش‬ ‫این‬ ‫به‬ ، ‫ترتیب‬ ‫بدین‬“nondestructive”(‫جایگزینی‬ ‫بدون‬)‫میشود‬ ‫گفته‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬5-2-‫در‬ ‫محاسبات‬C-
‫در‬ ‫محاسباتی‬ ‫های‬ ‫عملگر‬C‫مثال‬ ‫در‬ ‫خالصه‬ ‫طور‬ ‫به‬ ،9-2‫شده‬ ‫نوشته‬.
‫ا‬ ‫ریاضیات‬ ‫در‬ ‫که‬ ‫نیست‬ ‫های‬ ‫نشانه‬ ‫شکل‬ ‫میشود،به‬ ‫استفاده‬ ‫مختلف‬ ‫های‬ ‫قسمت‬ ‫در‬ ‫که‬ ‫عالئمی‬‫ستفاده‬
‫میشود‬.
‫عالمت‬) *("asterisk"‫عالمت‬ ‫و‬ ‫دارد‬ ‫اشاره‬ ‫ضرب‬ ‫عمل‬ ‫بر‬)%(“percent sing”‫برای‬ ‫عملگر‬ ‫عنوان‬ ‫به‬
‫شوند‬ ‫می‬ ‫معرفی‬ ‫زیر‬ ‫در‬ ‫که‬ ‫صورتی‬ ‫به‬ ، ‫شود‬ ‫می‬ ‫شناخته‬ ‫مانده‬ ‫باقی‬ ‫محاسبه‬:
‫مقدار‬ ‫دو‬ ‫بخواهیم‬ ‫اگر‬ ، ‫ریاضیات‬ ‫در‬a‫و‬b‫در‬ ‫را‬ ‫مقدار‬ ‫دو‬ ‫سادگی‬ ‫به‬ ‫میتوانیم‬ ، ‫کنیم‬ ‫ضرب‬ ‫هم‬ ‫در‬ ‫را‬
‫عبارت‬ ‫تک‬ ‫و‬ ‫بنویسیم‬ ‫هم‬ ‫کنار‬ab‫باشیم‬ ‫داشته‬ ‫ضرب‬ ‫دستور‬ ‫عنوان‬ ‫به‬ ‫را‬.
‫در‬c، ‫دهیم‬ ‫انجام‬ ‫را‬ ‫عمل‬ ‫این‬ ‫بخواهیم‬ ‫اگر‬ ،ab‫تکی‬ ‫عبارت‬ ‫یک‬ ‫عنوان‬ ‫به‬(‫گرفتن‬ ‫نظر‬ ‫در‬ ‫بدون‬a‫و‬b
‫جدا‬ ‫مقدار‬ ‫دو‬ ‫صورت‬ ‫به‬)‫شود‬ ‫می‬ ‫خوانده‬.
، ‫وجود‬ ‫این‬ ‫با‬c‫عالمت‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫و‬ ، ‫روشن‬ ‫و‬ ‫واضح‬ ‫طور‬ ‫به‬ ‫که‬ ‫داره‬ ‫نیاز‬)*(‫داده‬ ‫توضیح‬ ‫آن‬ ‫برای‬
‫شود‬.‫مثل‬:a*b
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫مثال‬9-2‫عملگر‬‫های‬‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬ ‫محاسباتی‬.
C‫دستور‬ ‫جبری‬ ‫عملگر‬ ‫جبری‬ ‫عملیات‬C
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬5-2-‫در‬ ‫محاسبات‬C-
‫دوتایی‬ ‫عملگرهای‬ ‫،همگی‬ ‫محاسباتی‬ ‫های‬ ‫عملگر‬(binary)‫هستند‬.
‫عبارت‬ ، ‫مثال‬ ‫عنوان‬ ‫به‬7+3‫دوتایی‬ ‫عملگر‬ ‫یک‬ ‫شامل‬)+(‫های‬ ‫عملوند‬ ‫و‬3‫و‬7‫است‬.
‫میدهد‬ ‫نتیجه‬ ‫را‬ ‫صحیح‬ ‫عدد‬ ‫یک‬ ، ‫صحیح‬ ‫عدد‬ ‫تقسیم‬.
‫عبارت‬ ، ‫مثال‬ ‫برای‬7/4‫با‬ ‫است‬ ‫برابر‬1‫عبارت‬ ‫و‬17/5‫با‬ ‫است‬ ‫برابر‬3.
C‫ع‬ ‫تقسیم‬ ‫ی‬ ‫مانده‬ ‫باقی‬ ‫که‬ ‫شکلی‬ ‫به‬ ‫آورده‬ ‫وجود‬ ‫به‬ ‫ورودی‬ ‫عدد‬ ‫صورت‬ ‫به‬ ‫را‬ ‫مانده‬ ‫باقی‬ ‫عملگر‬‫دد‬
‫میدهد‬ ‫نشان‬ ‫را‬ ‫صحیح‬.
‫شود‬ ‫استفاده‬ ‫صحیح‬ ‫اعداد‬ ‫برای‬ ‫میتواند‬ ‫که‬ ‫است‬ ‫صحیح‬ ‫عملگر‬ ‫یک‬ ، ‫مانده‬ ‫باقی‬ ‫عملگر‬.
‫عبارت‬x%y‫تقسیم‬ ‫ی‬ ‫مانده‬ ‫باقی‬x‫بر‬y‫دهد‬ ‫می‬ ‫نتیجه‬ ‫را‬.
، ‫ترتیب‬ ‫بدین‬4%7،3‫و‬5%17،2‫میدهد‬ ‫نتیجه‬ ‫را‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬16.2
‫تالش‬‫طورطبی‬ ‫به‬ ، ‫کامپیوتری‬ ‫های‬ ‫سیستم‬ ‫در‬ ‫صفر‬ ‫بر‬ ‫تقسیم‬ ‫برای‬‫،تعریف‬ ‫عی‬
‫میدهد‬ ‫نتیجه‬ ‫را‬ ‫مخرب‬ ‫خطای‬ ‫یه‬ ‫معموال‬ ‫و‬ ‫است‬ ‫نشده‬‫،به‬، ‫مثال‬ ‫عنوان‬‫خطا‬
“job”‫خطایی‬، ‫موفق‬ ‫عملیات‬ ‫داشتن‬ ‫بدون‬ ‫برنامه‬ ‫میشود‬ ‫باعث‬ ‫که‬ ‫است‬‫به‬
‫پایان‬ ‫سرعت‬‫یابد‬.
‫غیرمخرب‬ ‫خطاهای‬‫یک‬ ‫اغلب‬ ‫و‬ ‫میدهند‬ ‫را‬ ‫کامل‬ ‫اجرای‬ ‫ی‬ ‫اجازه‬ ‫برنامه‬ ‫به‬ ،
‫را‬ ‫نادرست‬ ‫ی‬ ‫نتیجه‬‫میسازند‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫درسنامه‬5-2-‫در‬ ‫محاسبات‬C-
‫در‬ ‫محاسباتی‬ ‫های‬ ‫عبارت‬c‫خطی‬ ‫یک‬ ‫صورت‬ ‫به‬ ‫باید‬ ، ‫کامپیوتر‬ ‫در‬ ‫ها‬ ‫برنامه‬ ‫به‬ ‫ورود‬ ‫در‬ ‫سهولت‬ ‫برای‬ ،
(straight line)‫شوند‬ ‫نوشته‬.
‫مانند‬ ‫هایی‬ ‫عبارت‬ ، ‫ترتیب‬ ‫بدین‬"a‫بر‬ ‫تقسیم‬b"‫صورت‬ ‫به‬ ‫باید‬a/b‫که‬ ‫طورتی‬ ‫به‬ ، ‫شوند‬ ‫نوشته‬
‫باشند‬ ‫داشته‬ ‫وجود‬ ‫خط‬ ‫یک‬ ‫در‬ ‫ها‬ ‫عملوند‬ ‫و‬ ‫عملگرها‬ ‫تمام‬.
‫جبری‬ ‫نماد‬( the algebraic notation)
‫ها‬ ‫بسته‬ ‫خاص‬ ‫مفاهیم‬ ‫از‬ ‫بعضی‬ ‫وجود‬ ‫این‬ ‫با‬ ، ‫نیستد‬ ‫قبول‬ ‫قابل‬ ‫کامپایلر‬ ‫برای‬ ‫معمول‬ ‫طور‬ ‫به‬‫نرم‬ ‫ی‬
‫م‬ ‫انجام‬ ‫را‬ ‫پیچیده‬ ‫محسباتی‬ ‫های‬ ‫عبارت‬ ‫برای‬ ، ‫طبیعی‬ ‫های‬ ‫عالمت‬ ‫بیشتر‬ ‫پشتیبانی‬ ‫کار‬ ‫افزاری‬‫یدهند‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬5-2-‫در‬ ‫محاسبات‬C-
‫از‬ ‫استفاده‬ ‫نحوه‬‫پرانتزها‬‫زبان‬ ‫در‬C‫میکنیم‬ ‫استفاده‬ ‫یاضی‬ ‫و‬ ‫جبر‬ ‫در‬ ‫ما‬ ‫که‬ ‫است‬ ‫ای‬ ‫همانگونه‬ ‫به‬.
‫مقدار‬ ‫کردن‬ ‫ضرب‬ ‫برای‬ ‫مثال‬ ‫عنوان‬ ‫به‬a‫مقادیر‬ ‫مجموع‬ ‫در‬b‫و‬c‫می‬ ‫استفاده‬ ‫پرانتز‬ ‫از‬ ‫زیر‬ ‫صورت‬ ‫به‬
‫کنیم‬:a * ( b + c )
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬5-2-‫در‬ ‫محاسبات‬C-
‫زبان‬ ‫در‬ ‫پرانتزها‬ ‫از‬ ‫استفاده‬C‫را‬ ‫ریاضی‬ ‫عبارات‬ ‫در‬ ‫عملگرها‬ ‫محاسبه‬ ‫که‬ ‫میکند‬ ‫میسر‬ ‫را‬ ‫امکان‬ ‫این‬
‫کنیم‬ ‫بندی‬ ‫اولویت‬.
‫شد‬ ‫خواهند‬ ‫محاسبه‬ ‫همه‬ ‫از‬ ‫اول‬ ، ‫اند‬ ‫گرفته‬ ‫قرار‬ ‫پرانتز‬ ‫دو‬ ‫بین‬ ‫عبارات‬ ‫در‬ ‫که‬ ‫عملگرهایی‬.‫نتی‬ ‫در‬‫با‬ ‫جه‬
‫دهید‬ ‫قرار‬ ،‫میخواهید‬ ‫که‬ ‫ترتیبی‬ ‫همان‬ ‫به‬ ‫را‬ ‫محاسبه‬ ‫بندی‬ ‫اولویت‬ ‫میتوان‬ ‫ها‬ ‫پرانتز‬ ‫از‬ ‫استفاده‬.‫حتی‬
‫کنید‬ ‫استفاده‬ ‫نیز‬ ‫هم‬ ‫درون‬ ‫پرانتز‬ ‫چند‬ ‫از‬ ‫میتوانید‬.( ( a + b ) + c )
‫توجه‬:‫هستند‬ ‫اولویت‬ ‫در‬ ، ‫اند‬ ‫آمده‬ ‫پرانتز‬ ‫درونیترین‬ ‫در‬ ‫که‬ ‫عملگرهایی‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬5-2-‫در‬ ‫محاسبات‬C-
‫میگیرد‬ ‫قرار‬ ‫تقسیم‬ ‫و‬ ‫ضرب‬ ‫عملیات‬ ‫آن‬ ‫از‬ ‫بعد‬ ‫و‬ ‫دارد‬ ‫قرار‬ ‫ارجحیت‬ ‫در‬ ‫محاسبات‬ ‫در‬ ‫توان‬ ‫عملیات‬.‫ا‬‫گر‬
‫انج‬ ‫راست‬ ‫به‬ ‫چپ‬ ‫از‬ ‫ترتیب‬ ‫به‬ ‫مقادیر‬ ‫کردن‬ ‫حساب‬ ، ‫داشت‬ ‫وجود‬ ‫تقسیم‬ ‫و‬ ‫ضرب‬ ‫چند‬ ‫عبارت‬ ‫یک‬ ‫در‬‫ام‬
‫شود‬ ‫می‬.‫هستند‬ ‫یکسان‬ ‫اولویت‬ ‫دارای‬ ‫تقسیم‬ ‫و‬ ‫ضرب‬.
‫میگیرند‬ ‫انجام‬ ‫بعد‬ ‫مرحله‬ ‫در‬ ‫تفریق‬ ‫و‬ ‫جمع‬.‫دا‬ ‫وجود‬ ‫تفریق‬ ‫و‬ ‫جمع‬ ‫عملیات‬ ‫چند‬ ‫عبارت‬ ‫یک‬ ‫در‬ ‫اگر‬‫شته‬
‫باشد‬ ‫می‬ ‫راست‬ ‫به‬ ‫چپ‬ ‫از‬ ‫محاسبه‬ ‫ترتیب‬ ، ‫باشد‬.‫ت‬ ‫پایین‬ ‫و‬ ‫اولویت‬ ‫از‬ ‫سطح‬ ‫یک‬ ‫در‬ ‫ها‬ ‫آن‬ ‫همچنین‬‫از‬ ‫ر‬
‫هستند‬ ‫تقسیم‬ ‫و‬ ‫ضرب‬ ،‫توان‬ ‫عملیات‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬5-2-‫در‬ ‫محاسبات‬C-
‫زبان‬ ‫در‬ ‫عملگرها‬ ‫اولیت‬ ‫به‬ ‫مربوط‬ ‫قوانین‬ ‫این‬C‫آغاز‬ ‫قسمت‬ ‫کدام‬ ‫از‬ ‫را‬ ‫محاسبه‬ ‫که‬ ‫کنند‬ ‫می‬ ‫مشخص‬
‫کند‬.‫قوانین‬ ‫که‬ ‫است‬ ‫این‬ ‫منظورمان‬ ، ‫شود‬ ‫می‬ ‫انجام‬ ‫راست‬ ‫به‬ ‫چپ‬ ‫از‬ ‫عملیات‬ ‫میگوییم‬ ‫که‬ ‫وقتی‬‫مربوط‬
‫گیرد‬ ‫می‬ ‫صورت‬ ‫ترتیب‬ ‫به‬ ‫آن‬ ‫به‬ ‫توجه‬ ‫با‬ ‫و‬ ‫شود‬ ‫می‬ ‫بررسی‬ ‫راست‬ ‫به‬ ‫چپ‬ ‫از‬ ‫ها‬ ‫عملگر‬ ‫اولویت‬ ‫به‬.
‫دهد‬ ‫رخ‬ ‫چپ‬ ‫به‬ ‫راست‬ ‫از‬ ‫عملیات‬ ‫که‬ ‫افتد‬ ‫می‬ ‫اتفاق‬ ‫گاهی‬.
‫مثال‬10-2‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬ ‫عملگرها‬ ‫الویت‬ ‫به‬ ‫مربوط‬ ‫قوانین‬ ‫از‬ ‫ای‬ ‫خالصه‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫عملگر‬‫ها‬ ‫عملیات‬ ‫بندی‬ ‫الویت‬
‫مثال‬10-2‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬ ‫محاسباتی‬ ‫عملگرهای‬ ‫تقدم‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬5-2-‫در‬ ‫محاسبات‬C-
‫مئال‬11-2‫میدهد‬ ‫نشان‬ ‫را‬ ‫عملگرها‬ ‫اجرا‬ ‫ترتیب‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫مرحله‬1
y = 2 * 5 * 5 + 3 * 5 + 7;
2 * 5 is 10
‫مرحله‬2
y = 10 * 5 + 3 * 5 + 7;
10 * 5 is 50
‫مرحله‬3
y = 50 + 3 * 5 + 7;
3 * 5 is 15
‫مرحله‬4
y = 50 + 15 + 7
50 + 15 is 65
‫مرحله‬5
y = 65 + 7
65 + 7 is 72
‫مرحله‬6
y = 72
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬5-2-‫در‬ ‫محاسبات‬C-
‫کنیم‬ ‫استفاده‬ ‫پرانتز‬ ‫از‬ ‫ریاضی‬ ‫عبارات‬ ‫کردن‬ ‫تر‬ ‫واضح‬ ‫برای‬ ‫که‬ ‫است‬ ‫الزم‬ ،‫جبر‬ ‫همانند‬.
‫پرانتزها‬ ‫اینگونه‬redundant parentheses‫دارند‬ ‫نام‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫برای‬ ‫مفید‬ ‫نکات‬11.2
‫استفاده‬‫از‬redundant parentheses‫عبارات‬ ‫در‬‫ریاضی‬
‫پیچیده‬‫می‬ ‫باعث‬‫آن‬ ‫فهم‬ ‫که‬ ‫شود‬‫آ‬‫سانتر‬‫تر‬ ‫واضح‬ ‫عبارت‬ ‫و‬‫ش‬‫ود‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬6-2-‫تصمیم‬‫گیری‬:‫و‬ ‫ای‬ ‫رابطه‬ ‫عملگرهای‬‫برابری‬-
‫زبان‬ ‫اجرایی‬ ‫های‬ ‫دستور‬C‫مختلف‬ ‫عملیات‬ ‫اجرای‬ ‫شامل‬(‫ه‬ ‫داده‬ ‫فرستادن‬ ‫یا‬ ‫گرفتن‬ ،‫محاسبات‬ ‫مانند‬‫ا‬)
‫گیری‬ ‫تصمیم‬ ‫و‬(‫دید‬ ‫خواهید‬ ‫آن‬ ‫از‬ ‫بیشتری‬ ‫های‬ ‫مثال‬ ‫ادامه‬ ‫در‬ ‫که‬)‫شوند‬ ‫می‬.
‫امتحان‬ ‫در‬ ‫شخصی‬ ‫ی‬ ‫نمره‬ ‫اگر‬ ‫مثال‬ ‫عنوان‬ ‫به‬ ‫که‬ ‫باشیم‬ ‫داشته‬ ‫تصمیم‬ ‫ای‬ ‫برنامه‬ ‫در‬ ‫است‬ ‫ممکن‬‫با‬ ‫برابر‬
60‫عبارت‬ ‫شد‬ ‫ان‬ ‫از‬ ‫بیشتر‬ ‫یا‬“Congratulations! You passed .”‫کند‬ ‫چاپ‬ ‫را‬.
‫شرطی‬ ‫عبارات‬ ‫از‬ ‫ای‬ ‫ساده‬ ‫نوع‬ ‫قسمت‬ ‫این‬ ‫در‬(if statement)‫زبان‬ ‫در‬C‫به‬ ‫که‬ ‫میکنیم‬ ‫معرفی‬ ‫را‬
‫عبارت‬ ‫بودن‬ ‫غلط‬ ‫یا‬ ‫درست‬ ‫اساس‬ ‫بر‬ ‫که‬ ‫دهد‬ ‫می‬ ‫را‬ ‫اجازه‬ ‫این‬ ‫برنامه‬‫کند‬ ‫گیری‬ ‫تصمیم‬ ،.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬6-2-‫در‬ ‫محاسبات‬C-
‫شرط‬ ‫اگر‬‫برقرار‬‫باشد‬(‫باشد‬ ‫درست‬ ‫شرط‬)‫میشود‬ ‫اجرا‬ ‫نتیجه‬ ‫یا‬ ‫اصلی‬ ‫عبارت‬.
‫برقرار‬ ‫شرط‬ ‫اگر‬‫نباشد‬(‫باشد‬ ‫غلط‬ ‫شرط‬)‫شود‬ ‫نمی‬ ‫اجرا‬ ‫نتیجه‬ ‫یا‬ ‫اصلی‬ ‫عبارت‬.
، ‫نه‬ ‫یا‬ ‫شود‬ ‫اجرا‬ ‫اصلی‬ ‫عبارت‬ ‫اگر‬ ‫حتی‬(‫شرط‬ ‫عبارت‬ ‫اتمام‬ ‫بعداز‬)‫ش‬ ‫دستور‬ ‫اجرای‬ ‫به‬ ‫شروع‬ ‫برنامه‬ ،‫رطی‬
‫کند‬ ‫می‬ ‫بعدی‬.
‫داد‬ ‫نشان‬ ‫برابری‬ ‫و‬ ‫ای‬ ‫رابطه‬ ‫عملگرهای‬ ‫با‬ ‫توان‬ ‫می‬ ‫را‬ ‫شرطی‬ ‫عبارات‬( .‫به‬‫مثال‬12-2‫کنید‬ ‫توجه‬)
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬6-2-‫در‬ ‫محاسبات‬C-
‫راس‬ ‫به‬ ‫چپ‬ ‫از‬ ‫آنها‬ ‫ی‬ ‫همه‬ ‫و‬ ‫دارند‬ ‫قرار‬ ‫اولویت‬ ‫در‬ ‫تساوی‬ ‫به‬ ‫نسبت‬ ‫تناسب‬ ‫عالیم‬ ،‫اجرایی‬ ‫ترتیب‬ ‫در‬‫ت‬
‫شوند‬ ‫می‬ ‫محاسبه‬.
‫زبان‬ ‫در‬C‫غ‬ ‫و‬ ‫صفر‬ ،‫بودن‬ ‫درست‬ ‫صورت‬ ‫در‬ ‫که‬ ‫شود‬ ‫نوشته‬ ‫دستوری‬ ‫صورت‬ ‫به‬ ‫میتواند‬ ‫شرط‬ ‫یک‬ ،‫لط‬
‫شود‬ ‫بیان‬ ‫صفر‬ ‫جز‬ ‫به‬ ‫عددی‬ ‫با‬ ‫بودن‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫یا‬ ‫جبری‬ ‫برابری‬
‫عملگرها‬ ‫ی‬ ‫رابطه‬
‫ی‬ ‫رابطه‬
‫عملگرها‬
‫زبان‬ ‫به‬C
‫در‬ ‫مثالی‬
‫زبان‬C
‫م‬‫ع‬‫در‬ ‫نی‬‫زبان‬C
‫مثال‬12-2‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬ ‫برابری‬ ‫و‬ ‫ای‬ ‫رابطه‬ ‫عملگرهای‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬17.2
‫عالیم‬ ‫بین‬ ‫اگر‬==،!=،=>‫و‬=<‫خطای‬ ،‫بیافتد‬ ‫فاصله‬‫نوشتا‬‫ری‬
(syntax error)‫رخ‬‫دهد‬ ‫می‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬18.2
‫اگر‬‫عالیم‬!=،=>‫و‬=<‫نوشته‬ ‫جا‬ ‫به‬ ‫جا‬، ‫شوند‬‫خطای‬‫نوشتاری‬
(syntax error)‫رخ‬‫دهد‬ ‫می‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬19.2
‫توجه‬‫تساوی‬ ‫عملگر‬ ‫که‬ ‫باشید‬ ‫داشته‬(==)‫دهی‬ ‫نسبت‬ ‫عملگر‬ ‫با‬
() =‫نگیرید‬ ‫اشباه‬!
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬6-2-‫در‬ ‫محاسبات‬C-
‫صورت‬ ‫به‬ ‫باید‬ ‫مساوی‬ ‫عملگر‬ ، ‫سردرگمی‬ ‫از‬ ‫جلوگیری‬ ‫برای‬"‫مساوی‬ ‫جفت‬" )==(‫عمل‬ ‫و‬ ‫شود‬ ‫خوانده‬‫گر‬
‫صورت‬ ‫به‬ ‫باید‬ ‫انتسابی‬"‫گیرنده‬"‫یا‬"‫مقدار‬ ‫ی‬ ‫دهنده‬ ‫نشان‬"‫شود‬ ‫می‬ ‫نظرگرفته‬ ‫در‬.
‫اسان‬ ‫به‬ ‫که‬ ‫کامپایل‬ ‫هنگام‬ ‫خطایی‬ ‫باعث‬ ‫لزوما‬ ‫عملگرها‬ ‫سردرگمی‬ ، ‫دید‬ ‫خواهیم‬ ‫بزودی‬ ‫که‬ ‫طور‬ ‫همان‬‫ی‬
‫شود‬ ‫اجرا‬ ‫هنگام‬ ‫خطا‬ ‫باعث‬ ‫است‬ ‫ممکن‬ ‫بلکه‬ ‫شود‬ ‫نمی‬ ، ‫باشد‬ ‫تشخیص‬ ‫قابل‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬20.2
‫قراردادن‬‫ویرگول‬ ‫نقطه‬ ‫یک‬";"‫راست‬ ‫سمت‬ ‫در‬ ‫بالفاصله‬
‫از‬ ‫بعد‬ ‫ها‬ ‫پرانتز‬‫شرط‬‫در‬‫شرطی‬ ‫دستور‬ ‫یک‬if.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
‫ی‬ ‫برنامه‬6-2-‫در‬ ‫محاسبات‬C-
‫مثال‬13-2‫شرطی‬ ‫دستور‬ ‫شش‬ ‫از‬if‫توسط‬ ‫که‬ ‫عدد‬ ‫دو‬ ‫ی‬ ‫مقایسه‬ ‫برای‬‫کاربر‬‫استفاده‬ ‫شده‬ ‫وارد‬‫کند‬ ‫می‬.
‫شرط‬ ‫اگر‬‫یک‬ ‫هر‬ ‫در‬‫شرطی‬ ‫دستورهای‬ ‫از‬if‫باشد‬ ‫برقرار‬‫دستور‬ ،printf‫شود‬ ‫می‬ ‫اجرا‬ ‫شرط‬ ‫آن‬ ‫با‬ ‫همراه‬.
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
1 /* Fig . 2 .13: fig02_13 .c
2 Using if statemants, relational
3 Oprators, and equality oprators */
4 #include <stdio .h>
5
6 /* function main begins program execution */
7 int main( void )
8 {
9 int num1; /* first number to be read from user */
10 int num2; /* second nmber to be read from user */
11
12 printf( " Enter two integers, and I will tell youn " );
13 printf( " the relationships they satisfy: " );
14
15 scanf( "%d%d" , &num1, &num2 ); /* read two integers */
16
17 if ( num1 == num2 ) {
18 printf( "%d is equal to %dn" , num1, num2 );
19 } /* end if */
20
21 if ( num1 !=nm2 ) {
22 printf( "%d is not equal to %dn" , num1, num2 );
23 } /* end if */
‫مثال‬13-2‫از‬ ‫استفاده‬‫دستور‬‫شرطی‬if‫عملگرهای‬ ‫و‬ ‫ای‬ ‫رابطه‬ ‫عملگرهای‬ ،‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬ ‫برابری‬( .‫بخش‬1‫از‬3)
‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬.
‫با‬ ‫نویسی‬ ‫برنامه‬C
24
25 if ( num1 < num2 ) {
26 printf( "%d is less than %dn" , num1 , num2 )
27 } /* end if */
28
29 if ( num1 > num2 ) {
30 printf( "%d is greater than %dn", num1, num2 ) ;
31 } /* end if */
32
33 If ( num1<=num2 ) {
34 printf( "%d is less than or equal to %dn" , num1, num2 );
35 } /*end if*/
36
37 If ( num1>= num2) {
38 printf( "%d is greater than %dn " , num1, num2);
39 } /* end if */
40
41 return 0; /* indicate that program ended sccessully */
42 } /* end function main*/
‫مثال‬13-2‫استفاده‬‫شرطی‬ ‫دستور‬ ‫از‬if‫عملگرهای‬ ‫و‬ ‫ای‬ ‫رابطه‬ ‫عملگرهای‬ ،‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬ ‫برابری‬(.‫بخش‬2‫از‬3)
How to program with c in persian
How to program with c in persian
How to program with c in persian
How to program with c in persian
How to program with c in persian
How to program with c in persian
How to program with c in persian
How to program with c in persian
How to program with c in persian
How to program with c in persian
How to program with c in persian
How to program with c in persian
How to program with c in persian

More Related Content

Viewers also liked

اینترنت اشیا در 10 دقیقه
اینترنت اشیا در 10 دقیقهاینترنت اشیا در 10 دقیقه
اینترنت اشیا در 10 دقیقهMahmood Neshati (PhD)
 
آموزش سریع ترسیم نمودار فرایند کسب و کار با استفاده از ویژوال پارادایم - بخش اول
آموزش سریع ترسیم نمودار فرایند کسب و کار با استفاده از ویژوال پارادایم - بخش اولآموزش سریع ترسیم نمودار فرایند کسب و کار با استفاده از ویژوال پارادایم - بخش اول
آموزش سریع ترسیم نمودار فرایند کسب و کار با استفاده از ویژوال پارادایم - بخش اولpouyafani
 
هویت حرفه‌ای در اینترنت - سمیه جلیلی
هویت حرفه‌ای در اینترنت - سمیه جلیلیهویت حرفه‌ای در اینترنت - سمیه جلیلی
هویت حرفه‌ای در اینترنت - سمیه جلیلیsomaieh jalily
 
پلتفرمهای نرم افزاری و سخت افزاری پیاده سازی راهکارهای اینترنت اشیاء
پلتفرمهای نرم افزاری و سخت افزاری پیاده سازی راهکارهای اینترنت اشیاءپلتفرمهای نرم افزاری و سخت افزاری پیاده سازی راهکارهای اینترنت اشیاء
پلتفرمهای نرم افزاری و سخت افزاری پیاده سازی راهکارهای اینترنت اشیاءstartupIoT
 
مروی بر استارترکیتها و پلتفرمهای اینترنت اشیاء
مروی بر استارترکیتها و پلتفرمهای اینترنت اشیاءمروی بر استارترکیتها و پلتفرمهای اینترنت اشیاء
مروی بر استارترکیتها و پلتفرمهای اینترنت اشیاءstartupIoT
 
طراحی و پیاده سازی سیستم کنترل هوشمند آبیاری گیاهان و باغچه (IoT)
 طراحی و پیاده سازی سیستم کنترل هوشمند آبیاری گیاهان و باغچه (IoT)  طراحی و پیاده سازی سیستم کنترل هوشمند آبیاری گیاهان و باغچه (IoT)
طراحی و پیاده سازی سیستم کنترل هوشمند آبیاری گیاهان و باغچه (IoT) Behnaz Motavali
 
Cloud Security and Risk Management
Cloud Security and Risk ManagementCloud Security and Risk Management
Cloud Security and Risk ManagementMorteza Javan
 
Internet of Things - Future & Opportunities * اینترنت اشیاء - فرصتهای پیش رو
Internet of Things - Future & Opportunities * اینترنت اشیاء - فرصتهای پیش روInternet of Things - Future & Opportunities * اینترنت اشیاء - فرصتهای پیش رو
Internet of Things - Future & Opportunities * اینترنت اشیاء - فرصتهای پیش روMasoud Zamani
 
انفجار تجربه‌کاربری
انفجار تجربه‌کاربریانفجار تجربه‌کاربری
انفجار تجربه‌کاربریWeb Standards School
 
کاربردهای اینترنت اشیاء در حوزه سازمانی و صنعت
کاربردهای اینترنت اشیاء در حوزه سازمانی و صنعت کاربردهای اینترنت اشیاء در حوزه سازمانی و صنعت
کاربردهای اینترنت اشیاء در حوزه سازمانی و صنعت startupIoT
 
استارتاپ و حومه
استارتاپ و حومهاستارتاپ و حومه
استارتاپ و حومهmohammad zahedi
 
Internet of-things-for-industries
Internet of-things-for-industriesInternet of-things-for-industries
Internet of-things-for-industriesMahdi Nasseri
 
Internet of Things
Internet of ThingsInternet of Things
Internet of ThingsVala Afshar
 

Viewers also liked (17)

workplace psychology
workplace psychologyworkplace psychology
workplace psychology
 
The Sensors in Internet of Things
The Sensors in Internet of ThingsThe Sensors in Internet of Things
The Sensors in Internet of Things
 
اینترنت اشیا در 10 دقیقه
اینترنت اشیا در 10 دقیقهاینترنت اشیا در 10 دقیقه
اینترنت اشیا در 10 دقیقه
 
آموزش سریع ترسیم نمودار فرایند کسب و کار با استفاده از ویژوال پارادایم - بخش اول
آموزش سریع ترسیم نمودار فرایند کسب و کار با استفاده از ویژوال پارادایم - بخش اولآموزش سریع ترسیم نمودار فرایند کسب و کار با استفاده از ویژوال پارادایم - بخش اول
آموزش سریع ترسیم نمودار فرایند کسب و کار با استفاده از ویژوال پارادایم - بخش اول
 
هویت حرفه‌ای در اینترنت - سمیه جلیلی
هویت حرفه‌ای در اینترنت - سمیه جلیلیهویت حرفه‌ای در اینترنت - سمیه جلیلی
هویت حرفه‌ای در اینترنت - سمیه جلیلی
 
پلتفرمهای نرم افزاری و سخت افزاری پیاده سازی راهکارهای اینترنت اشیاء
پلتفرمهای نرم افزاری و سخت افزاری پیاده سازی راهکارهای اینترنت اشیاءپلتفرمهای نرم افزاری و سخت افزاری پیاده سازی راهکارهای اینترنت اشیاء
پلتفرمهای نرم افزاری و سخت افزاری پیاده سازی راهکارهای اینترنت اشیاء
 
مروی بر استارترکیتها و پلتفرمهای اینترنت اشیاء
مروی بر استارترکیتها و پلتفرمهای اینترنت اشیاءمروی بر استارترکیتها و پلتفرمهای اینترنت اشیاء
مروی بر استارترکیتها و پلتفرمهای اینترنت اشیاء
 
طراحی و پیاده سازی سیستم کنترل هوشمند آبیاری گیاهان و باغچه (IoT)
 طراحی و پیاده سازی سیستم کنترل هوشمند آبیاری گیاهان و باغچه (IoT)  طراحی و پیاده سازی سیستم کنترل هوشمند آبیاری گیاهان و باغچه (IoT)
طراحی و پیاده سازی سیستم کنترل هوشمند آبیاری گیاهان و باغچه (IoT)
 
Cloud Security and Risk Management
Cloud Security and Risk ManagementCloud Security and Risk Management
Cloud Security and Risk Management
 
Internet of Things - Future & Opportunities * اینترنت اشیاء - فرصتهای پیش رو
Internet of Things - Future & Opportunities * اینترنت اشیاء - فرصتهای پیش روInternet of Things - Future & Opportunities * اینترنت اشیاء - فرصتهای پیش رو
Internet of Things - Future & Opportunities * اینترنت اشیاء - فرصتهای پیش رو
 
انفجار تجربه‌کاربری
انفجار تجربه‌کاربریانفجار تجربه‌کاربری
انفجار تجربه‌کاربری
 
کاربردهای اینترنت اشیاء در حوزه سازمانی و صنعت
کاربردهای اینترنت اشیاء در حوزه سازمانی و صنعت کاربردهای اینترنت اشیاء در حوزه سازمانی و صنعت
کاربردهای اینترنت اشیاء در حوزه سازمانی و صنعت
 
استارتاپ و حومه
استارتاپ و حومهاستارتاپ و حومه
استارتاپ و حومه
 
استراتژی محتوا
استراتژی محتوااستراتژی محتوا
استراتژی محتوا
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 
Internet of-things-for-industries
Internet of-things-for-industriesInternet of-things-for-industries
Internet of-things-for-industries
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 

Similar to How to program with c in persian

Jozve c#2 mohamady_zahedy
Jozve c#2 mohamady_zahedyJozve c#2 mohamady_zahedy
Jozve c#2 mohamady_zahedydanesh_fd
 
Advance programming c++
Advance programming c++Advance programming c++
Advance programming c++AliNazarizadeh
 
Software Fault Avoidance in Implementation
Software Fault Avoidance in ImplementationSoftware Fault Avoidance in Implementation
Software Fault Avoidance in ImplementationMorteza Zakeri
 
نرم افزار3 خرداد
نرم افزار3 خردادنرم افزار3 خرداد
نرم افزار3 خردادmahdiehsalari
 
Java programming languages
Java programming languagesJava programming languages
Java programming languagesjavadib
 
قلاب سازی در تحلیل بدافزارهاHooking in Malware Analysis
 قلاب سازی در تحلیل بدافزارهاHooking  in Malware Analysis قلاب سازی در تحلیل بدافزارهاHooking  in Malware Analysis
قلاب سازی در تحلیل بدافزارهاHooking in Malware AnalysisM Mehdi Ahmadian
 
Natural Language Processing with Python
Natural Language Processing with PythonNatural Language Processing with Python
Natural Language Processing with PythonHassan Saleh
 
avr project , sim808l, mmc card
avr project , sim808l, mmc cardavr project , sim808l, mmc card
avr project , sim808l, mmc cardPooriaKeihani
 
بخش اول :كاربرد رايانه در برق (آموزش ساده سيمولينك )
بخش اول :كاربرد رايانه در برق (آموزش ساده سيمولينك )بخش اول :كاربرد رايانه در برق (آموزش ساده سيمولينك )
بخش اول :كاربرد رايانه در برق (آموزش ساده سيمولينك )tahereh sharafi
 
نمونه سوال فصل ششم
نمونه سوال فصل ششمنمونه سوال فصل ششم
نمونه سوال فصل ششمpani ansari
 
برنامه سازی3
برنامه سازی3برنامه سازی3
برنامه سازی3mahdiehsalari
 

Similar to How to program with c in persian (20)

C++
C++C++
C++
 
Amjadi - Ebook 5 - Function - v1
Amjadi - Ebook 5 - Function - v1Amjadi - Ebook 5 - Function - v1
Amjadi - Ebook 5 - Function - v1
 
Jozve c#2 mohamady_zahedy
Jozve c#2 mohamady_zahedyJozve c#2 mohamady_zahedy
Jozve c#2 mohamady_zahedy
 
Advance programming c++
Advance programming c++Advance programming c++
Advance programming c++
 
Software Fault Avoidance in Implementation
Software Fault Avoidance in ImplementationSoftware Fault Avoidance in Implementation
Software Fault Avoidance in Implementation
 
MIPS and QtSpim
MIPS and QtSpimMIPS and QtSpim
MIPS and QtSpim
 
نرم افزار3 خرداد
نرم افزار3 خردادنرم افزار3 خرداد
نرم افزار3 خرداد
 
Barnamesazi1c#
Barnamesazi1c#Barnamesazi1c#
Barnamesazi1c#
 
Java programming languages
Java programming languagesJava programming languages
Java programming languages
 
قلاب سازی در تحلیل بدافزارهاHooking in Malware Analysis
 قلاب سازی در تحلیل بدافزارهاHooking  in Malware Analysis قلاب سازی در تحلیل بدافزارهاHooking  in Malware Analysis
قلاب سازی در تحلیل بدافزارهاHooking in Malware Analysis
 
Lecture2
Lecture2Lecture2
Lecture2
 
Natural Language Processing with Python
Natural Language Processing with PythonNatural Language Processing with Python
Natural Language Processing with Python
 
avr project , sim808l, mmc card
avr project , sim808l, mmc cardavr project , sim808l, mmc card
avr project , sim808l, mmc card
 
بخش اول :كاربرد رايانه در برق (آموزش ساده سيمولينك )
بخش اول :كاربرد رايانه در برق (آموزش ساده سيمولينك )بخش اول :كاربرد رايانه در برق (آموزش ساده سيمولينك )
بخش اول :كاربرد رايانه در برق (آموزش ساده سيمولينك )
 
Kotlin
KotlinKotlin
Kotlin
 
lunch box plugin
 lunch box plugin  lunch box plugin
lunch box plugin
 
نمونه سوال فصل ششم
نمونه سوال فصل ششمنمونه سوال فصل ششم
نمونه سوال فصل ششم
 
برنامه سازی3
برنامه سازی3برنامه سازی3
برنامه سازی3
 
programing.pptx
programing.pptxprograming.pptx
programing.pptx
 
khazeni_taghizade
khazeni_taghizadekhazeni_taghizade
khazeni_taghizade
 

How to program with c in persian

  • 1. ‫با‬ ‫چگونه‬C‫برنامه‬ ‫بنویسیم؟‬ ‫باش‬ ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫د‬. ‫زبان‬ ‫توسط‬ ‫نویسی‬ ‫برنامه‬ ‫مبانی‬ ‫با‬ ‫آشنایی‬C ‫خدا‬ ‫نام‬ ‫به‬
  • 2. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫اهداف‬‫زبان‬ ‫در‬ ‫کامپیوتر‬ ‫ی‬ ‫ساده‬ ‫های‬ ‫برنامه‬ ‫نوشتن‬C ‫های‬ ‫دستور‬ ‫از‬ ‫استفاده‬ ‫چگونگی‬input‫و‬output ‫بنیادی‬ ‫های‬ ‫داده‬ ‫از‬ ‫استفاده‬ ‫چگونگی‬ ‫کامپیوتر‬ ‫ی‬ ‫حافظه‬ ‫مفهوم‬ ‫حسابی‬ ‫های‬ ‫عملگر‬ ‫از‬ ‫استفاده‬ ‫چگونگی‬ ‫سازی‬ ‫تصمیم‬ ‫های‬ ‫دستور‬ ‫نوشتن‬ ‫چگونگی‬
  • 3. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C 2.1:‫مقدمه‬ 2.2:‫زبان‬ ‫به‬ ‫ساده‬ ‫ی‬ ‫برنامه‬ ‫یک‬c:‫متن‬ ‫یک‬ ‫دادن‬ ‫نمایش‬ 2.3:‫زبان‬ ‫ی‬ ‫ساده‬ ‫های‬ ‫برنامه‬ ‫دیگر‬c:‫صحیح‬ ‫عدد‬ ‫دو‬ ‫کردن‬ ‫جمع‬ 2.4:‫حافظه‬ ‫مفهوم‬ 2.5:‫زبان‬ ‫در‬ ‫حسابگرها‬c 2.6:‫گیری‬ ‫تصمیم‬ ‫های‬ ‫دستور‬:‫برابری‬ ‫و‬ ‫دهی‬ ‫نسبت‬ ‫های‬ ‫عملگر‬
  • 4. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫زبان‬C‫ساختار‬(structure)‫می‬ ‫فهم‬ ‫قابل‬ ‫و‬ ‫منظم‬ ‫برنامه‬ ‫طراحی‬ ‫برای‬ ‫و‬ ‫آسان‬ ‫را‬‫کند‬. ‫زبان‬ ‫با‬ ‫فصل‬ ‫این‬ ‫در‬C‫می‬ ‫آشنا‬‫می‬ ‫ارائه‬ ‫مثال‬ ‫چندین‬ ‫و‬ ‫شویم‬‫زبان‬ ‫مهم‬ ‫های‬ ‫ویژگی‬ ‫تا‬ ‫کنیم‬C‫را‬ ‫دهیم‬ ‫توضیح‬. ‫فصل‬ ‫در‬3‫و‬4‫زبان‬ ‫نویسی‬ ‫برنامه‬ ‫های‬ ‫ساختار‬ ‫ی‬ ‫مقدمه‬C‫می‬ ‫بیان‬ ‫را‬‫کنیم‬.
  • 5. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬- ‫کنیم‬ ‫می‬ ‫شروع‬ ‫ساده‬ ‫ی‬ ‫برنامه‬ ‫یک‬ ‫نوشتن‬ ‫با‬. ‫است‬ ‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬ ‫اول‬ ‫ی‬ ‫مسئله‬(.‫مثال‬1-2)
  • 6. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C 1 /* Fig . 2/1: fig02_01 .c 2 A first program in C */ 3 #include <stdio .h> 4 5 /* function main begins program execution */ 6 int main( void ) 7 { 8 printf( “welcome to C!n” ); 9 10 return 0; /* indicate that program ended successfully */ 11 } /* end function main */ Welcome to ! ‫مثال‬1-2‫زبان‬ ‫در‬ ‫برنامه‬ ‫اولین‬C
  • 7. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬- ‫های‬ ‫خط‬1‫و‬2 /* Fig . 2/1: fig02_01 .c A first program in c */ ‫با‬ ‫ها‬ ‫کامنت‬ ، ‫دهند‬ ‫می‬ ‫نشان‬ ‫خط‬ ‫دو‬ ‫این‬ ‫که‬ ‫همانطور‬/*‫با‬ ‫و‬ ‫شده‬ ‫شروع‬*/‫می‬ ‫پایان‬‫ایند‬. ‫کنیم‬ ‫می‬ ‫اضافه‬ ‫برنامه‬ ‫بهتر‬ ‫خوانایی‬ ‫برای‬ ‫را‬ ‫ها‬ ‫کامنت‬. ‫ندار‬ ‫برنامه‬ ‫اجرای‬ ‫در‬ ‫تاثیری‬ ‫و‬ ‫شوند‬ ‫نمی‬ ‫خوانده‬ ‫کامپیوتر‬ ‫توسط‬ ‫ها‬ ‫کامنت‬ ، ‫برنامه‬ ‫اجرای‬ ‫هنگام‬‫ند‬.
  • 8. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬- ‫زبان‬ ‫در‬ ‫ها‬ ‫کامنت‬ ‫که‬ ‫این‬ ‫بر‬ ‫عالوه‬C‫کد‬ ‫ایجاد‬ ‫باعث‬ ‫هم‬ ‫ماشینی‬ ‫دیگر‬ ‫های‬ ‫زبان‬ ‫در‬ ، ‫شوند‬ ‫نمی‬ ‫خوانده‬ ‫شوند‬ ‫نمی‬. ‫کنند‬ ‫درک‬ ‫و‬ ‫خوانده‬ ‫را‬ ‫شما‬ ‫ی‬ ‫برنامه‬ ‫بتوانند‬ ‫تا‬ ‫کنند‬ ‫می‬ ‫کمک‬ ‫دیگران‬ ‫به‬ ‫ها‬ ‫کامنت‬.
  • 9. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬1.2 ‫فراموش‬‫کردن‬*/‫کامنت‬ ‫پایان‬ ‫در‬
  • 10. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬2.2 ‫شروع‬‫ها‬ ‫کامنت‬*/‫با‬ ‫آنها‬ ‫به‬ ‫دادن‬ ‫پایان‬ ‫و‬/*
  • 11. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬- ‫برنامه‬C99‫مانند‬C++‫شامل‬// single-line comment(‫خطی‬ ‫تک‬ ‫کامنت‬)‫می‬ ‫با‬ ‫که‬ ‫چیزی‬ ‫هر‬ ‫که‬ ‫شکلی‬ ‫به‬ ‫شود‬//‫می‬ ‫شروع‬‫نظر‬ ‫در‬ ‫،کامنت‬ ‫خط‬ ‫همان‬ ‫انتهای‬ ‫تا‬ ، ‫شود‬ ‫شود‬ ‫می‬ ‫گرفته‬. ‫خط‬ ‫آخر‬ ‫یا‬ ‫اول‬ ‫میتوانند‬ ‫ها‬ ‫کامنت‬(‫ها‬ ‫کد‬ ‫از‬ ‫بعد‬ ‫یا‬ ‫قبل‬)‫بگیرند‬ ‫قرار‬. ‫از‬ ‫استفاده‬ ‫ها‬ ‫نویس‬ ‫برنامه‬ ‫برخی‬//‫م‬ ‫اشتباهات‬ ‫کردن‬ ‫کم‬ ‫و‬ ‫بودن‬ ‫کوتاه‬ ‫دلیل‬ ‫به‬ ‫را‬‫تداول‬ ‫ز‬ ‫ا‬ ‫استفاده‬ ‫به‬ ،/*………*/‫می‬ ‫ترجیح‬‫دهند‬. #include <stdio .h> ‫ی‬ ‫برنامه‬ ‫خود‬ ‫ی‬ ‫پردازنده‬ ‫برای‬ ‫دستور‬ ‫یک‬C((C preprocessor‫است‬. ‫خط‬3
  • 12. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬- ‫سازی‬ ‫آماده‬ ‫از‬ ‫قبل‬(‫شدن‬ ‫کامپایل‬)‫با‬ ‫که‬ ‫را‬ ‫هایی‬ ‫خط‬ ‫پردازنده‬ ‫پیش‬ ، ‫برنامه‬#‫شرو‬‫ع‬ ‫کند‬ ‫می‬ ‫پردازش‬ ‫را‬ ‫میشوند‬. ‫خط‬3‫شامل‬ ‫برنامه‬ ‫محتوای‬ ‫که‬ ‫میدهد‬ ‫نشان‬ ‫پردازنده‬ ‫پیش‬ ‫به‬ standard input/output header (<stdio .h>) ‫باشد‬ ‫می‬. ‫تیتر‬ ‫سر‬ ‫این‬(header)‫سازی‬ ‫آماده‬ ‫هنگام‬ ‫کامپایلر‬ ‫توسط‬ ‫که‬ ‫است‬ ‫اطالعاتی‬ ‫شامل‬ (compiling)‫کتابخانه‬ ‫از‬ ‫تابع‬standard input/output‫شوند‬ ‫می‬ ‫استفاده‬.‫مانند‬ printf int main ( viod ) ‫زبان‬ ‫در‬ ‫برنامه‬ ‫هر‬ ‫از‬ ‫قسمتی‬C‫است‬. ‫از‬ ‫بعد‬ ‫های‬ ‫پرانتز‬main‫که‬ ‫میدهد‬ ‫نشان‬main‫تابع‬ ‫آن‬ ‫به‬ ‫که‬ ‫است‬ ‫برنامه‬ ‫پایه‬ ، ‫گویند‬ ‫می‬. ‫خط‬6
  • 13. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬- ‫زبان‬ ‫های‬ ‫برنامه‬c‫باید‬ ‫ازآنها‬ ‫یکی‬ ‫که‬ ‫باشند‬ ‫می‬ ‫تابع‬ ‫چند‬ ‫یا‬ ‫یک‬ ‫شامل‬main‫باشد‬. ‫زبان‬ ‫در‬ ‫ای‬ ‫برنامه‬ ‫هر‬C‫تابع‬ ‫اجرای‬ ‫با‬main‫شود‬ ‫می‬ ‫شروع‬. ‫کلیدی‬ ‫ی‬ ‫واژه‬int‫چپ‬ ‫قسمت‬ ‫در‬main‫که‬ ‫دهد‬ ‫می‬ ‫نشان‬main‫صحیح‬ ‫عدد‬ ‫یک‬ ‫تابع‬integer)) ‫باشد‬ ‫می‬. ‫فصل‬ ‫در‬ ‫وقتی‬5‫معنای‬ ‫که‬ ‫دهیم‬ ‫می‬ ‫شرح‬ ، ‫بسازید‬ ‫را‬ ‫خود‬ ‫نظر‬ ‫مورد‬ ‫تابع‬ ‫طور‬ ‫چه‬ ‫که‬ ‫دهیم‬ ‫می‬ ‫نشان‬ (return a value)‫چیست‬ ‫تابع‬ ‫یک‬ ‫برای‬ ‫مقدار‬ ‫یک‬ ‫به‬ ‫بازگشت‬.
  • 14. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬- ‫حاضر‬ ‫حال‬ ‫در‬‫شامل‬ ‫شما‬ ‫ی‬ ‫برنامه‬int‫چپ‬ ‫قسمت‬ ‫در‬main‫باشد‬ ‫می‬. ‫کنند‬ ‫دریافت‬ ‫را‬ ‫اطالعات‬ ‫میتوانند‬ ‫توابع‬. ‫ی‬ ‫کمله‬void‫تابع‬ ‫که‬ ‫است‬ ‫معنی‬ ‫این‬ ‫به‬ ‫پرانتز‬ ‫داخل‬main‫کند‬ ‫نمی‬ ‫دریافت‬ ‫اطالعاتی‬ ‫هیچ‬.
  • 15. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫برای‬ ‫مفید‬ ‫نکات‬1.2 ‫استفاده‬‫هدف‬ ‫دادن‬ ‫شرح‬ ‫برای‬ ‫کامنت‬ ‫از‬‫تابع‬ ‫هر‬
  • 16. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬- ‫خط‬7:‫با‬ ‫تابع‬ ‫هر‬ ‫ی‬ ‫بدنه‬ ‫شروع‬}‫باشد‬ ‫می‬. ‫خط‬11:‫تابع‬ ‫هر‬ ‫پایان‬ ‫همچنین‬{‫دارد‬ ‫قرار‬. ‫شود‬ ‫می‬ ‫گفته‬ ‫بلوک‬ ‫یک‬ ‫آنها‬ ‫بین‬ ‫های‬ ‫قسمت‬ ‫و‬ ‫ها‬ ‫آکوالد‬ ‫به‬. printf( “welcome to c!n” ); printf‫عبارت‬ ‫که‬ ‫است‬ ‫کامپیوتری‬ ‫دستور‬ ‫یک‬(string)‫نشان‬ ‫نمایش‬ ‫ی‬ ‫صفحه‬ ‫در‬ ‫را‬ ‫دهد‬ ‫می‬. ‫داخل‬ ‫عبارت‬". . . "‫باشد‬ ‫حرف‬ ‫یک‬ ‫یا‬ ‫پیام‬ ‫یک‬ ، ‫کاراکتری‬ ‫رشته‬ ‫یک‬ ‫تواند‬ ‫می‬. ‫خط‬8
  • 17. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬- ‫شامل‬ ‫خط‬ ‫تمام‬printf‫آرگومان‬ ،(‫فرمت‬ ‫کنترل‬ ‫ی‬ ‫رشته‬)‫و‬ ‫ها‬ ‫پرانتز‬ ‫همراه‬semicolon(;)‫یک‬ ‫دارد‬ ‫نام‬ ‫دستور‬. ‫با‬ ‫باید‬ ‫دستور‬ ‫هر‬(;)‫برسد‬ ‫پایان‬ ‫به‬( .semicolon‫نیز‬ ‫دستور‬ ‫ی‬ ‫دهنده‬ ‫پایان‬ ‫عنوان‬ ‫به‬ ‫همچنین‬ ‫میشود‬ ‫شناخته‬) ‫دستور‬ ‫که‬ ‫زمانی‬printf‫پیام‬ ‫شود‬ ‫اجرا‬Welcome to c!‫شود‬ ‫می‬ ‫ظاهر‬ ‫صفحه‬ ‫روی‬. ‫بین‬ ‫که‬ ‫همانطور‬ ‫دقیقا‬ ‫معموال‬ ‫کاراکترها‬double quotes()“____”‫دستور‬ ‫در‬printf‫می‬ ‫ظاهر‬ ‫یابند‬ ‫می‬ ‫شوند،نمایش‬. ِ ‫کاراکتر‬ ‫که‬ ‫کنید‬ ‫توجه‬n‫است‬ ‫نشده‬ ‫داده‬ ‫نشان‬ ‫نمایش‬ ‫صفحه‬ ‫روی‬. Backslash()‫که‬ ‫دهد‬ ‫می‬ ‫نشان‬ ‫و‬ ‫است‬ ‫گریز‬ ‫کاراکتر‬ ‫یک‬printf‫انجام‬ ‫عرف‬ ‫از‬ ‫خارج‬ ‫کاری‬ ‫است‬ ‫قرار‬ ‫دهد‬.
  • 18. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬- ‫با‬ ‫مواجهه‬ ‫هنگام‬backslash‫ترکیب‬ ‫در‬ ‫را‬ ‫ان‬ ‫و‬ ‫خواند‬ ‫می‬ ‫نیز‬ ‫را‬ ‫بعدی‬ ‫کاراکتر‬ ‫کامپایلر‬ ، ‫رشته‬ ‫یک‬ ‫در‬‫با‬ backslash‫دهد‬ ‫می‬ ‫تشکیل‬ ‫را‬ ‫گریز‬ ‫ی‬ ‫رشته‬ ‫یک‬. ‫گریز‬ ‫ی‬ ‫رشته‬n‫جدید‬ ‫خط‬ ‫از‬ ‫شروع‬ ‫یعنی‬. ‫که‬ ‫هنگامی‬newline‫توسط‬ ‫خروجی‬ ‫ی‬ ‫رشته‬ ‫در‬printf‫در‬ ‫گر‬ ‫نشانه‬ ‫که‬ ‫شود‬ ‫می‬ ‫باعث‬ ، ‫شود‬ ‫می‬ ‫ظاهر‬ ‫شود‬ ‫ظاهر‬ ‫بعد‬ ‫خط‬ ‫ابتدای‬. ‫بین‬ ‫که‬ ‫همانطور‬ ‫دقیقا‬ ‫معموال‬ ‫کاراکترها‬double quotes()“____”‫دستور‬ ‫در‬printf،‫شوند‬ ‫می‬ ‫ظاهر‬ ‫یابند‬ ‫می‬ ‫نمایش‬. ‫فهرست‬ ‫در‬ ‫رایج‬ ‫گریز‬ ‫کاراکترهای‬ ‫از‬ ‫برخی‬‫مثال‬2-2‫اند‬ ‫شده‬ ‫اورده‬:
  • 19. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫شرح‬‫عالئم‬ ‫مثال‬2-2‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬ ‫گریز‬ ‫های‬ ‫کاراکتر‬ ‫برخی‬.
  • 20. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬- ‫چون‬backslash‫است‬ ‫خاص‬ ‫معنی‬ ‫دارای‬ ‫رشته‬ ‫در‬(‫شناسایی‬ ‫گریز‬ ‫کاراکتر‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫ان‬ ‫کامپایلر‬‫می‬ ‫کند‬)‫دو‬ ‫از‬ ،backslash)//(‫یک‬ ‫ایجاد‬ ‫برای‬backslash‫می‬ ‫استفاده‬ ‫رشته‬ ‫در‬‫کنیم‬. ‫از‬ ‫استفاده‬ ‫همچنین‬double quote("___")‫شود‬ ‫می‬ ‫مشکل‬ ‫بروز‬ ‫باعث‬.‫زیرا‬double quote (“___")‫نشود‬ ‫داده‬ ‫تشخیص‬ ‫آن‬ ‫های‬ ‫قول‬ ‫نقل‬ ‫با‬ ‫رشته‬ ‫یک‬ ‫مرز‬ ‫که‬ ‫شود‬ ‫می‬ ‫باعث‬. ‫گریز‬ ‫رشته‬ ‫از‬ ‫استفاده‬ ‫با‬"‫توسط‬ ‫که‬ ‫رشته‬ ‫یک‬ ‫در‬printf‫شود‬ ‫می‬ ‫تبدیل‬ ‫خروجی‬ ‫به‬،‫دهیم‬ ‫می‬ ‫نشان‬ ‫که‬printf‫دهد‬ ‫نمایش‬ ‫رشته‬ ‫خود‬ ‫در‬ ‫را‬ ‫قول‬ ‫نقل‬ ‫عالمت‬ ‫باید‬.
  • 21. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬- return 0; /* indicate that program ended successfully */ return0‫اید‬ ‫می‬ ‫به‬ ‫تابعی‬ ‫هر‬ ‫انتهای‬ ‫در‬. ‫دستور‬ ‫که‬ ‫هنگامی‬return‫تابع‬ ‫پایان‬ ‫در‬main‫شود‬ ‫استفاده‬،‫اینجا‬ ‫در‬ ‫که‬ ‫همانطور‬ ‫شد‬ ‫داده‬ ‫نشان‬،‫یافت‬ ‫پایان‬ ‫موفقیت‬ ‫با‬ ‫برنامه‬ ‫که‬ ‫دهد‬ ‫می‬ ‫نشان‬ ‫صفر‬ ‫ارزش‬. ‫راست‬ ‫اکوالد‬({)(‫خط‬12)‫تابع‬ ‫که‬ ‫دهد‬ ‫می‬ ‫نشان‬main‫است‬ ‫رسیده‬ ‫پایان‬ ‫به‬. ‫خط‬10
  • 22. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫برای‬ ‫مفید‬ ‫نکات‬2.2 ‫به‬‫شامل‬ ‫که‬ ‫خطی‬(})، ‫است‬‫که‬ ‫بدهید‬ ‫کامنتی‬‫ی‬ ‫همه‬‫را‬ ‫تابع‬ ‫کند‬ ‫تمام‬(‫تابع‬ ‫همچنین‬main).
  • 23. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬- ‫گفتیم‬ ‫که‬ ‫همانطور‬printf‫شود‬ ‫می‬ ‫کامپیوتر‬ ‫توسط‬ ‫کار‬ ‫انجام‬ ‫باعث‬. ، ‫شود‬ ‫می‬ ‫اجرا‬ ‫ای‬ ‫برنامه‬ ‫هر‬ ‫که‬ ‫هنگامی‬‫انجام‬ ‫را‬ ‫هایی‬ ‫گیری‬ ‫تصمیم‬ ‫و‬ ‫دهد‬ ‫می‬ ‫انجام‬ ‫را‬ ‫متفاوتی‬ ‫کارهای‬ ‫دهد‬ ‫می‬. ‫بخش‬ ‫در‬3‫کرد‬ ‫خواهیم‬ ‫بحث‬ ‫بیشتر‬ ‫ها‬ ‫گیری‬ ‫تصمیم‬ ‫و‬ ‫ها‬ ‫کار‬ ‫این‬ ‫ی‬ ‫نمونه‬ ‫ی‬ ‫باره‬ ‫در‬.
  • 24. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬3.2 ‫نوشتن‬print‫به‬‫خروجی‬ ‫تابع‬ ‫نام‬ ‫عنوان‬‫بجای‬ ،printf.
  • 25. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬- ‫مانند‬ ‫استاندارد‬ ‫ای‬ ‫کتابخانه‬ ‫توابع‬printf‫و‬scanf‫نویسی‬ ‫برنامه‬ ‫زبان‬ ‫از‬ ‫بخشی‬C‫نیستند‬. ‫در‬ ‫را‬ ‫نگارشی‬ ‫خطای‬ ‫تواند‬ ‫نمی‬ ‫کامپایلر‬ ، ‫مثال‬ ‫عنوان‬ ‫به‬printf‫و‬scanf‫دریابد‬. ‫دستور‬ ‫یک‬ ‫کامپایلر‬ ‫که‬ ‫هنگامی‬printf‫ب‬ ‫فرمان‬ ‫برای‬ ‫نظر‬ ‫مورد‬ ‫برنامه‬ ‫در‬ ‫را‬ ‫فضایی‬ ، ‫کند‬ ‫می‬ ‫کامپایل‬ ‫را‬‫ه‬ ‫کند‬ ‫می‬ ‫ایجاد‬ ‫کتابخانه‬ ‫تابع‬. ‫هستند‬ ‫کجا‬ ‫ای‬ ‫کتابخانه‬ ‫توابع‬ ‫که‬ ‫داند‬ ‫نمی‬ ‫کامپایلر‬.‫دانند‬ ‫می‬ ‫ها‬ ‫دهنده‬ ‫پیوند‬ ‫ولی‬. ‫فرم‬ ‫و‬ ‫کنند‬ ‫می‬ ‫شناسایی‬ ‫را‬ ‫ای‬ ‫کاتبخانه‬ ‫توابع‬ ‫مکان‬ ، ‫شوند‬ ‫می‬ ‫اجرا‬ ‫ها‬ ‫دهنده‬ ‫پیوند‬ ‫که‬ ‫هنگامی‬‫های‬ ‫ان‬ ‫کنند‬ ‫می‬ ‫درج‬ ‫نظر‬ ‫مورد‬ ‫ی‬ ‫برنامه‬ ‫در‬ ‫را‬ ‫مناسب‬.
  • 26. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬- ‫اجراست‬ ‫ی‬ ‫آماده‬ ‫و‬ ‫است‬ ‫شده‬ ‫کامل‬ ‫نظر‬ ‫مورد‬ ‫ی‬ ‫برنامه‬ ‫حاال‬. ‫یک‬ ‫شده‬ ‫داده‬ ‫پیوند‬ ‫ی‬ ‫برنامه‬ ، ‫دلیل‬ ‫همین‬ ‫به‬"excutable"‫میشود‬ ‫نامیده‬. ‫کن‬ ‫می‬ ‫شناسایی‬ ‫را‬ ‫خطا‬ ‫این‬ ‫که‬ ‫است‬ ‫دهنده‬ ‫پیوند‬ ،‫باشد‬ ‫داشته‬ ‫نگارشی‬ ‫اشتباه‬ ‫تابع‬ ‫نام‬ ‫اگر‬‫د‬.‫چون‬ ‫ی‬ ‫برنامه‬ ‫در‬ ‫نامی‬ ‫تطبیق‬ ‫امکان‬C‫ندارد‬ ‫وجود‬ ‫کتابخانه‬ ‫در‬ ‫تابعی‬ ‫هیچ‬ ‫نام‬ ‫با‬.
  • 27. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫برای‬ ‫مفید‬ ‫نکات‬3.2 ‫بدنه‬‫آکوالد‬ ‫از‬ ‫را‬ ‫تابع‬ ‫ی‬،‫ها‬‫کنند‬ ‫می‬ ‫تعریف‬ ‫را‬ ‫بدنه‬ ‫این‬ ‫که‬،‫یک‬ ‫سطح‬‫فاصله‬‫دهید‬(‫سه‬‫می‬ ‫پیشنهاد‬ ‫فاصله‬‫شود‬. ) ‫این‬‫ب‬ ‫و‬ ‫کند‬ ‫می‬ ‫تاکید‬ ‫برنامه‬ ‫تابع‬ ‫دستورالعمل‬ ‫بر‬ ‫فاصله‬‫تر‬ ‫راحت‬ ‫ه‬ ‫خوانده‬‫می‬ ‫کمک‬ ‫برنامه‬ ‫شدن‬‫کند‬.
  • 28. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫برای‬ ‫مفید‬ ‫نکات‬4.2 ‫میزان‬‫قرارداد‬ ‫را‬ ‫خود‬ ‫نظر‬ ‫مورد‬ ‫ی‬ ‫فاصله‬‫کنید‬‫یکنواخت‬ ‫بطور‬ ‫و‬‫آن‬ ‫را‬‫اعمال‬‫کنید‬.‫کلید‬tab‫نیز‬‫فاصله‬ ‫ایجاد‬ ‫برای‬ ‫است‬ ‫ممکن‬ ‫شود‬ ‫استفاده‬.‫اما‬‫توقف‬ ‫جایگاه‬tab‫فرق‬ ‫باهم‬ ‫است‬ ‫ممکن‬ ‫ها‬ ‫باشند‬ ‫داشته‬.‫ما‬‫پیشنهاد‬ ‫را‬ ‫سطر‬ ‫هر‬ ‫در‬ ‫فاصله‬ ‫سه‬ ‫از‬ ‫استفاده‬ ‫کنیم‬ ‫می‬.
  • 29. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬- ‫تابع‬printf‫میتواند‬Welcome to C !‫دهد‬ ‫نمایش‬ ‫مختلفی‬ ‫های‬ ‫شیوه‬ ‫به‬ ‫را‬ ‫مثال‬ ‫ی‬ ‫برنامه‬ ، ‫مثال‬ ‫برای‬3-2‫مثال‬ ‫ی‬ ‫برنامه‬ ‫که‬ ‫دهد‬ ‫می‬ ‫را‬ ‫خروجی‬ ‫همان‬1-2‫کند‬ ‫می‬ ‫ارایه‬. ‫هر‬ ، ‫که‬ ‫است‬ ‫این‬ ‫رخدادی‬ ‫چنین‬ ‫دلیل‬printf‫که‬ ‫جایی‬ ‫از‬ ‫را‬ ‫خود‬ ِ ‫نمایش‬printf‫سر‬ ‫از‬ ‫شده‬ ‫تمام‬ ‫قبلی‬ ‫گیرد‬ ‫می‬. ‫اولین‬printf(‫خط‬8)welcome‫دومین‬ ‫و‬ ‫میدهد‬ ‫نمایش‬ ‫را‬ ‫فاصله‬ ‫یک‬ ‫دنبالش‬ ‫به‬ ‫و‬printf(‫خط‬9) ‫شود‬ ‫می‬ ‫داده‬ ‫نمایش‬ ‫فاصله‬ ‫سر‬ ‫پشت‬ ‫خط‬ ‫همان‬ ‫در‬ ‫سریعا‬.
  • 30. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C 1 /* Fig . 2 .3: fig02_3 .c 2 Printing on one line with two printf statements */ 3 #include <stdio .h> 4 5 /* function main begins program execution */ 6 int main( viod ) 7 { 8 printf( “Welcome “ ); 9 printf( “to C!n” ); 10 11 return 0; /* indicate that program ended successfully */ 12 } /* end function main */ Welcome to C! ‫مثال‬3-2‫دستور‬ ‫توسط‬ ‫خط‬ ‫یک‬ ‫نمایش‬printf‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬.
  • 31. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬2-2-‫متن‬ ‫یک‬ ‫دادن‬ ‫نشان‬- ‫یک‬printf‫کاراکتر‬ ‫کردن‬ ‫اضافه‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫را‬ ‫خط‬ ‫چندین‬ ‫میتواند‬newline‫دهد‬ ‫نمایش‬. (‫مانند‬‫مثال‬4-2) ‫با‬ ‫مواجهه‬ ‫هنگام‬ ‫زمان‬ ‫هر‬newline(‫جدید‬ ‫خط‬ ‫دستور‬)‫یابد‬ ‫می‬ ‫ادامه‬ ‫بعد‬ ‫خط‬ ‫ابتدای‬ ‫از‬ ‫خروجی‬.
  • 32. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C 1 /* Fig . 2 .3: fig02_3 .c 2 Printing on one line with two printf statements */ 3 #include <stdio .h> 4 5 /* function main begins program execution */ 6 int main( viod ) 7 { 8 printf( “WelcomentonC!n “ ); 9 10 return 0; /* indicate that program ended successfully */ 11 } /* end function main */ Welcome to C! ‫مثال‬3-2‫دستور‬ ‫توسط‬ ‫خط‬ ‫یک‬ ‫نمایش‬printf‫را‬‫نشان‬‫می‬‫دهد‬.
  • 33. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬3-2-‫عدد‬ ‫دو‬ ‫جمع‬- ‫بعدی‬ ‫ی‬ ‫برنامه‬(‫مثال‬3-2)‫ها‬ ‫متغیر‬ ‫استاندارد‬ ‫ی‬ ‫کتابخانه‬ ‫از‬scanf‫متغیر‬ ‫دو‬ ‫تا‬ ‫کند‬ ‫می‬ ‫استفاده‬ ‫دو‬ ‫آن‬ ‫جمع‬ ‫مقدار‬ ، ‫کند‬ ‫دریافت‬ ‫را‬ ‫است‬ ‫شده‬ ‫وارد‬ ‫کیبورد‬ ‫ی‬ ‫وسیله‬ ‫به‬ ‫که‬ ‫را‬ ‫کاربر‬ ‫توسط‬ ‫شده‬ ‫وارد‬‫عدد‬ ‫دستور‬ ‫ی‬ ‫بوسیله‬ ‫را‬ ‫نتیجه‬ ‫و‬ ‫محاسبه‬ ‫را‬printf‫کند‬ ‫چاپ‬. ]‫مثال‬ ‫خروجی‬ ‫یا‬ ‫ورودی‬ ‫دیالوگ‬ ‫در‬8-2‫را‬ ‫انها‬ ‫کاربر‬ ‫توسط‬ ‫شده‬ ‫وارد‬ ‫عدد‬ ‫دو‬ ‫بر‬ ‫تاکید‬ ‫برای‬ ‫ما‬ ،‫تیره‬‫کرد‬‫ه‬ ‫ایم‬.[
  • 34. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C 1 /* Fig . 2 .5: fig02_5 .c 2 Addition program */ 3 #include <stdio .h> 4 5 /* function main begins program execution */ 6 int main( viod ) 7 { 8 int integer1; /* first number to be input by user */ 9 int integer2; /* second number to be input by user */ 10 int sum; /* variable in which sum will be stored */ 11 12 printf( “Enter first integern” ); */ prompt */ 13 scanf( “%d” , &integer1 ); /* read an integer */ 14 15 printf( “Enter second integern” ); */ prompt */ 16 scanf( “%d” , &integer2 ); /* read an integer */ 17 18 sum = integer1 + integer2; /* assign total to sum */ 19 20 printf( “Sum is %dn “ , sum ); /*print sum */ 21 22 return 0; /* indicate that program ended successfully */ 23 } /* end function main */
  • 35. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫مثال‬5-2‫جمع‬ ‫ی‬ ‫برنامه‬(‫بخش‬2‫از‬2)
  • 36. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬3-2-‫عدد‬ ‫دو‬ ‫جمع‬- int integer1; /* first number to be input by user */ int integer2; /* second number to be input by user */ int sum; /* variable in which sum will be stored */ ‫کنید‬ ‫مشاهده‬ ‫را‬ ‫ها‬ ‫کامنت‬ ‫نقش‬ ‫توانید‬ ‫می‬ ‫باال‬ ‫در‬. ‫های‬ ‫نام‬integer2 , integer1‫و‬sum‫هستند‬ ‫ها‬ ‫متغییر‬ ‫های‬ ‫نام‬ ،. ‫توسط‬ ‫تا‬ ‫شود‬ ‫ذخیره‬ ‫میتواند‬ ‫مقدار‬ ‫یک‬ ‫که‬ ‫جایی‬ ، ‫هست‬ ‫مموری‬ ‫در‬ ‫مکان‬ ‫یک‬ ‫متغییر‬ ‫گیرد‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫برنامه‬. ‫های‬ ‫متغییر‬ ‫که‬ ‫میکنن‬ ‫مشخص‬ ‫تعاریف‬ ‫این‬integer2 , integer1‫و‬sum‫نوع‬ ‫از‬int (‫صحیح‬ ‫اعداد‬)‫میدارند‬ ‫نگه‬ ‫را‬ ‫صحیح‬ ‫مقدار‬ ‫ها‬ ‫متغییر‬ ‫این‬ ‫که‬ ‫معنی‬ ‫این‬ ‫به‬ ، ‫هستند‬. ‫از‬ ‫اعم‬ ‫اعداد‬ ‫کل‬ ‫مثال‬ ‫عنوان‬ ‫به‬:-11،0،31914‫ها‬ ‫این‬ ‫مانند‬ ‫دیگر‬ ‫اعداد‬ ‫و‬. ‫خط‬10-8
  • 37. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬3-2-‫عدد‬ ‫دو‬ ‫جمع‬- ‫چپ‬ ‫اکوالد‬ ‫از‬ ‫بعد‬ ‫باید‬ ‫ها‬ ‫متغییر‬ ‫تمامی‬}‫ی‬ ‫بدنه‬ ‫که‬main‫شوند‬ ‫تعریف‬ ، ‫میشود‬ ‫شروع‬ ‫انجا‬ ‫از‬.‫قبل‬ ‫کرد‬ ‫استفاده‬ ‫انها‬ ‫از‬ ‫برنامه‬ ‫در‬ ‫بتوان‬ ‫اینکه‬ ‫از‬. ‫م‬ ‫مثال‬ ‫مانند‬ ، ‫دهند‬ ‫تشکیل‬ ‫را‬ ‫واحد‬ ‫تعریف‬ ‫یک‬ ‫و‬ ‫شوند‬ ‫ترکیب‬ ‫هم‬ ‫با‬ ‫میتوانند‬ ‫قبلی‬ ‫تعاریف‬‫قابل‬: int ineger1, integer2, sum; ‫که‬ ‫کاری‬ ‫مانند‬ ، ‫میشود‬ ‫ها‬ ‫کامنت‬ ‫در‬ ‫متغییرها‬ ‫توصیف‬ ‫شدن‬ ‫سخت‬ ‫باعث‬ ‫کار‬ ‫این‬ ‫اما‬‫های‬ ‫خط‬ ‫در‬8-10 ‫دادیم‬ ‫انجام‬. ‫زبان‬ ‫در‬ ‫متغییر‬ ‫یک‬ ‫نام‬C‫میشود‬ ‫شامل‬ ‫را‬ ‫معتبر‬ ‫شناساگر‬ ‫هر‬. ‫تیره‬ ‫خط‬ ‫و‬ ‫ارقام‬ ، ‫حروف‬ ‫از‬ ‫شده‬ ‫تشکیل‬ ‫کاراکترهای‬ ‫از‬ ‫سری‬ ‫یک‬ ‫شناساگر‬(_)‫عدد‬ ‫با‬ ‫که‬ ‫میباشد‬‫شروع‬ ‫نمیشوند‬.
  • 38. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬3-2-‫عدد‬ ‫دو‬ ‫جمع‬- ‫تنها‬ ‫اما‬ ، ‫باشد‬ ‫میتواند‬ ‫طولی‬ ‫هر‬ ‫به‬ ‫شناساگر‬ ‫یک‬31‫کامپایلر‬ ‫توسط‬ ‫تا‬ ‫است‬ ‫نیاز‬ ‫ان‬ ‫اول‬ ‫کاراکتر‬C ‫زبان‬ ‫استاندارد‬ ‫مطابق‬ ‫شود‬ ‫شناخته‬C. ‫زبان‬C‫است‬ ‫حروف‬ ‫به‬ ‫حساس‬___‫زبان‬ ‫در‬ ‫کوچک‬ ‫و‬ ‫بزرگ‬ ‫حروف‬C‫پس‬ ، ‫هستند‬ ‫متفاوت‬a1‫با‬A1 ‫هستند‬ ‫متفاوت‬ ‫شناساگر‬ ‫دو‬.
  • 39. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬4.2 ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫کوچک‬ ‫حرف‬ ‫باید‬ ‫که‬ ‫جایی‬ ‫در‬ ‫بزرگ‬ ‫حروف‬ ‫از‬ ‫استقاده‬‫گیر‬‫د‬ (‫برای‬، ‫مثال‬Main‫بجای‬main)
  • 40. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫خطا‬ ‫وقوع‬ ‫از‬ ‫جلوگیری‬ ‫برای‬ ‫نکته‬1.2 ‫تیره‬ ‫خط‬ ‫از‬ ‫استفاده‬ ‫در‬ ‫پرهیز‬(_)‫ابتدای‬ ‫در‬‫شناساگر‬‫جلوگی‬ ‫برای‬ ‫ها‬‫از‬ ‫ری‬ ‫قاطی‬‫کتاب‬ ‫و‬ ‫کامپایلر‬ ‫ی‬ ‫شده‬ ‫تعیین‬ ‫پیش‬ ‫از‬ ‫شناساگرهای‬ ‫با‬ ‫شدن‬‫ی‬ ‫خانه‬ ‫شناساگرها‬ ‫استاندارد‬.
  • 41. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نکته‬1.2 ‫شناساگرهای‬ ‫از‬31‫استفاده‬ ‫کمتر‬ ‫یا‬ ‫کاراکتری‬‫کنید‬.‫اطمین‬ ‫باعث‬ ‫این‬‫ان‬ ‫در‬ ‫شود‬ ‫می‬ ‫شناساگر‬ ‫نوشتن‬ ‫درست‬‫نوی‬ ‫برنامه‬ ‫نامحسوس‬ ‫خطاهای‬ ‫از‬ ‫و‬‫سی‬ ‫کند‬ ‫می‬ ‫جلوگیر‬.
  • 42. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫برای‬ ‫مفید‬ ‫نکات‬5.2 ‫انتخاب‬‫با‬ ‫نام‬‫معنی‬‫برن‬ ‫یک‬ ‫تا‬ ‫میکند‬ ‫کمک‬ ‫ها‬ ‫متغییر‬ ‫برای‬‫امه‬‫ی‬ ‫مستند‬‫داشته‬‫ک‬ ‫توضیحات‬ ‫آن‬ ‫های‬ ‫ویژگی‬ ‫از‬ ‫یکی‬ ‫که‬ ‫باشیم‬‫در‬ ‫متر‬ ‫است‬ ‫برنامه‬.
  • 43. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫برای‬ ‫مفید‬ ‫نکات‬6.2 ‫بای‬ ‫میشود‬ ‫استفاده‬ ‫شناساگر‬ ‫عنوان‬ ‫به‬ ‫که‬ ‫ای‬ ‫کلمه‬ ‫اول‬ ‫حرف‬‫د‬ ‫کوچک‬‫باشد‬.‫شناساگرها‬ ‫به‬ ‫ای‬ ‫ویژه‬ ‫اهمیت‬ ‫متن‬ ‫در‬ ‫ما‬ ‫جلوتر‬‫ی‬ ‫خروف‬ ‫از‬ ‫که‬ ‫شناساگرهایی‬ ‫به‬ ‫و‬ ‫میشوند‬ ‫شروع‬ ‫بزرگ‬ ‫حرف‬ ‫با‬ ‫که‬ ‫میدهیم‬ ‫میکنند‬ ‫استفاده‬ ‫بزرگ‬ ‫تمام‬
  • 44. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫برای‬ ‫مفید‬ ‫نکات‬7.2 ‫استفاده‬‫ها‬ ‫متغییر‬ ‫برای‬ ‫اند‬ ‫شده‬ ‫تشکیل‬ ‫کلمه‬ ‫چند‬ ‫از‬ ‫که‬ ‫هایی‬ ‫نام‬ ‫از‬‫ک‬ ،‫مک‬ ‫داشته‬ ‫خواناتری‬ ‫ی‬ ‫برنامه‬ ‫تا‬ ‫میکند‬‫باشیم‬.‫از‬‫از‬ ‫جدا‬ ‫کلمات‬ ‫چسباندن‬‫به‬ ‫هم‬ ، ‫کنید‬ ‫پرهیز‬ ‫یکدیگر‬‫مانند‬totalcomissions. ‫ترجیحا‬‫کنید‬ ‫جدا‬ ‫هم‬ ‫از‬ ‫تیره‬ ‫خط‬ ‫با‬ ‫را‬ ‫کلمات‬‫مانند‬total_commissions‫یا‬ ، ‫ر‬ ‫دوم‬ ‫ی‬ ‫کلمه‬ ‫اول‬ ‫حرف‬ ، ‫بنویسید‬ ‫چسبیده‬ ‫هم‬ ‫به‬ ‫را‬ ‫کلمات‬ ‫میخواهید‬ ‫اگر‬‫با‬ ‫ا‬ ، ‫بنویسید‬ ‫بزرگ‬ ‫حرف‬‫مانند‬totalCommissions.
  • 45. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬3-2-‫عدد‬ ‫دو‬ ‫جمع‬- ‫گیرند‬ ‫قرار‬ ‫دستوری‬ ‫عبارت‬ ‫هر‬ ‫از‬ ‫قبل‬ ‫و‬ ‫تابع‬ ‫چپ‬ ‫براکت‬ ‫از‬ ‫بعد‬ ‫باید‬ ‫تعاریف‬. ‫دهد‬ ‫تشخیص‬ ‫را‬ ‫عبارت‬ ‫یک‬ ‫نتواند‬ ‫کامپایلر‬ ‫که‬ ‫میافتد‬ ‫اتفاق‬ ‫زمانی‬ ‫نوشتاری‬ ‫خطای‬. ‫ت‬ ‫را‬ ‫آن‬ ‫و‬ ‫کرده‬ ‫پیدا‬ ‫را‬ ‫نادرست‬ ‫عبارت‬ ‫مکان‬ ‫شما‬ ‫تا‬ ‫میدهد‬ ‫نمایش‬ ‫را‬ ‫خطایی‬ ‫پیغام‬ ‫معموال‬ ‫کامپایلر‬‫صحیح‬ ‫کنید‬.‫هستند‬ ‫زبان‬ ‫در‬ ‫هایی‬ ‫نقض‬ ‫نوشتاری‬ ‫خطاهای‬. ‫میشو‬ ‫شناخته‬ ‫نیز‬ ‫کامپایل‬ ‫هنگام‬ ‫به‬ ‫خطای‬ ‫و‬ ‫کامپایلر‬ ‫خطای‬ ‫عنوان‬ ‫به‬ ‫همچنین‬ ‫نوشتاری‬ ‫خطاهای‬‫ند‬.
  • 46. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬5.2 ‫قرار‬‫تعاریف‬ ‫دادن‬‫متغیرها‬‫خطای‬ ‫باعث‬ ‫اجرایی‬ ‫های‬ ‫عبارت‬ ‫بین‬ ‫در‬ ‫میشود‬ ‫نوشتاری‬.
  • 47. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫برای‬ ‫مفید‬ ‫نکات‬8.2 ‫که‬ ‫این‬ ‫بر‬ ‫تاکید‬ ‫برای‬ ، ‫تابع‬ ‫در‬ ‫را‬ ‫اجرایی‬ ‫های‬ ‫عبارت‬ ‫و‬ ‫تعاریف‬ ‫تعاریف‬‫شروع‬ ‫کجا‬ ‫در‬ ‫اجرایی‬ ‫های‬ ‫عبارت‬ ‫و‬ ‫میابد‬ ‫پایان‬ ‫کجا‬ ‫در‬ ‫میشوند‬‫جدا‬ ‫هم‬ ‫از‬ ‫خالی‬ ‫خط‬ ‫یک‬ ‫ی‬ ‫وسیله‬ ‫به‬ ،‫کنید‬.
  • 48. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬3-2-‫عدد‬ ‫دو‬ ‫جمع‬- ‫خط‬12 Printf( “Enter first integern” ); /* prompt */ ‫عبارت‬Enter first integer‫دهد‬ ‫می‬ ‫قرار‬ ‫بعدی‬ ‫خط‬ ‫سر‬ ‫در‬ ‫را‬ ‫گر‬ ‫نشانه‬ ‫و‬ ‫میکند‬ ‫چاپ‬ ‫صفحه‬ ‫روی‬ ‫را‬. ‫پیغام‬ ‫این‬ ‫به‬prompt‫دهد‬ ‫می‬ ‫فرمان‬ ‫را‬ ‫کاری‬ ‫انجام‬ ‫کاربر‬ ‫به‬ ‫زیرا‬ ، ‫میشود‬ ‫گفته‬. ‫بعدی‬ ‫عبارت‬ scanf( “%d”, &integer1 ); /*read an integer */ ‫از‬scanf‫میشود‬ ‫استفاده‬ ‫کاربر‬ ‫از‬ ‫مقدار‬ ‫یک‬ ‫دریافت‬ ‫برای‬. ‫تابع‬scanf‫میکند‬ ‫دریافت‬ ‫است‬ ‫کیبورد‬ ‫معموال‬ ‫که‬ ، ‫استاندارد‬ ‫ورودی‬ ‫از‬ ‫را‬ ‫مقدار‬.
  • 49. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫برنامه‬3-2-‫جمع‬2‫عدد‬‫صحیح‬- ‫دستور‬scanf‫عبارت‬ ‫دو‬ ‫شامل‬"d%"‫و‬integer1%‫باشد‬ ‫می‬. .‫اول‬ ‫عبارت‬‫فرمت‬ ‫کنترل‬ ‫رشته‬‫کند‬ ‫می‬ ‫مشخص‬ ‫را‬ ‫شود‬ ‫وارد‬ ‫کاربر‬ ‫توسط‬ ‫باید‬ ‫که‬. ‫معین‬ ‫مبدل‬d%‫عدد‬ ‫نوع‬ ‫از‬ ‫باید‬ ‫داده‬ ‫نوع‬ ‫که‬ ‫کند‬ ‫می‬ ‫تعیین‬‫صحیح‬‫باشد‬. ‫حرف‬d‫اعشاری‬ ‫صحیح‬ ‫عدد‬ ‫معنای‬ ‫به‬(Decimal)‫است‬. ‫درصد‬ ‫عالمت‬ ‫جا‬ ‫این‬ ‫در‬)%(‫توسط‬) scanf‫و‬printf‫دید‬ ‫خواهیم‬ ‫ها‬ ‫بعد‬ ‫که‬)‫کاراکتر‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫یک‬ ‫که‬ ‫شود‬ ‫می‬ ‫شناخته‬ ‫خاص‬‫معین‬ ‫مبدل‬‫کند‬ ‫می‬ ‫معرفی‬ ‫را‬. ‫عبارت‬ ‫دومین‬scanf‫َمپرساند‬‫ا‬ ‫یک‬ ‫با‬(&)‫شود‬ ‫می‬ ‫شروع‬(‫در‬ ‫آن‬ ‫به‬ ‫که‬C‫آدرس‬ ‫عملگر‬‫گویند‬ ‫می‬) ‫آید‬ ‫می‬ ‫متغیر‬ ‫نام‬ ‫آن‬ ‫بعد‬ ‫و‬.
  • 50. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫برنامه‬3-2-‫جمع‬2‫عدد‬‫صحیح‬- ‫شود‬ ‫ادغام‬ ‫متغیر‬ ‫نام‬ ‫با‬ ‫وقتی‬ ‫امپرساند‬scanf‫متغیر‬ ‫که‬ ‫آدرسی‬ ‫از‬ ‫را‬Integer1‫ذخیره‬ ‫حافظه‬ ‫در‬ ‫سازد‬ ‫می‬ ‫مطلع‬ ‫است‬ ‫شده‬. ‫مقدار‬ ‫کامپیوتر‬ ‫نتیجه‬ ‫در‬integer1‫کند‬ ‫می‬ ‫ذخیره‬ ‫آن‬ ‫در‬ ‫را‬. ‫امپرساند‬ ‫از‬ ‫استفاده‬(&)‫دیگ‬ ‫های‬ ‫زبان‬ ‫نویسان‬ ‫برنامه‬ ‫یا‬ ‫مبتدی‬ ‫نویسان‬ ‫برنامه‬ ‫برای‬ ً‫ال‬‫معمو‬‫این‬ ‫از‬ ‫که‬ ‫ر‬ ‫است‬ ‫کننده‬ ‫سردرگم‬ ، ‫کنند‬ ‫نمی‬ ‫استفاده‬ ‫عبارت‬. ‫به‬ ‫متغیری‬ ‫هر‬ ‫شناساندن‬ ‫از‬ ‫قبل‬ ً‫ال‬‫فع‬ ‫که‬ ‫باشید‬ ‫داشته‬ ‫خاطر‬ ‫به‬ ‫فقط‬scanf‫بیاید‬ ‫امپرساند‬ ‫باید‬.
  • 51. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نکات‬‫مفید‬‫برای‬‫برنامه‬‫نویسی‬9.2 ‫برای‬‫هر‬ ‫از‬ ‫بعد‬ ‫متن‬ ‫شدن‬ ‫خواناتر‬‫کاما‬(,)‫فاصله‬‫بگذارید‬.
  • 52. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬3-2-‫جمع‬2‫عدد‬‫صحیح‬- ‫کامپیوتر‬ ‫وقتی‬scanf‫متغیر‬ ‫برای‬ ‫مقداری‬ ‫تا‬ ‫ماند‬ ‫می‬ ‫کاربر‬ ‫منتظر‬ ‫کند‬ ‫می‬ ‫اجرا‬ ‫را‬integer1‫کند‬ ‫وارد‬. ‫دکمه‬ ‫بعد‬ ‫دهد‬ ‫می‬ ‫پاسخ‬ ‫صحیح‬ ‫مقدار‬ ‫یک‬ ‫کردن‬ ‫تایپ‬ ‫با‬ ‫کاربر‬Enter‫کامپیوتر‬ ‫به‬ ‫عدد‬ ‫دادن‬ ‫برای‬ ‫را‬ ‫دهد‬ ‫می‬ ‫فشار‬. ‫متغیر‬ ‫برای‬ ‫را‬ ‫مقدار‬ ‫این‬ ‫کامپیوتر‬ ‫بعد‬integer1‫شود‬ ‫می‬ ‫قائل‬. ‫از‬ ‫سخن‬ ‫جا‬ ‫هر‬ ‫برنامه‬ ‫در‬ ‫این‬ ‫از‬ ‫بعد‬integer1‫داشت‬ ‫خواهد‬ ‫را‬ ‫مقدار‬ ‫همین‬ ‫بیاید‬. ‫توابع‬printf‫و‬scanf‫دهد‬ ‫می‬ ‫بنیان‬ ‫کامپیوتر‬ ‫و‬ ‫کاربر‬ ‫بین‬ ‫تعامل‬ ‫به‬. ‫محاس‬ ‫یا‬ ‫تعاملی‬ ‫محاسبه‬ ‫آن‬ ‫به‬ ً‫ال‬‫معمو‬ ‫آورد‬ ‫می‬ ‫یاد‬ ‫به‬ ‫را‬ ‫گو‬ ‫و‬ ‫گفت‬ ‫یا‬ ‫دیالوگ‬ ‫یک‬ ‫تعامل‬ ‫این‬ ‫چون‬‫به‬ ‫گویند‬ ‫می‬ ‫ای‬ ‫محاوره‬.
  • 53. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬3-2-‫جمع‬2‫عدد‬‫صحیح‬- ‫خط‬15printf( "Enter second integer n“ ); /* prompt */ ‫پیام‬'‫کنید‬ ‫وارد‬ ‫را‬ ‫دوم‬ ‫صحیح‬ ‫عدد‬'‫ن‬ ‫مکان‬ ‫بعد‬ ،‫دهد‬ ‫می‬ ‫نمایش‬ ‫صفحه‬ ‫روی‬ ‫را‬‫ما‬ ‫دهد‬ ‫می‬ ‫قرار‬ ‫بعدی‬ ‫خط‬ ‫سر‬ ‫را‬. ‫این‬printf‫دارد‬ ‫عمل‬ ‫درخواست‬ ‫کاربر‬ ‫از‬ ‫نیز‬. ‫عبارت‬ ‫این‬: scanf( "%d" , &integer2 ); /* read an integer */ ‫گیرد‬ ‫می‬ ‫دوم‬ ‫ّر‬‫ی‬‫متغ‬ ‫برای‬ ‫مقدار‬ ‫یک‬ ‫کاربر‬ ‫از‬.
  • 54. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬3-2-‫جمع‬2‫عدد‬‫صحیح‬- ‫خط‬ ‫در‬ ‫انتساب‬ ‫عبارت‬18 sum = integer1 + integer2 ; /* assign total to sum */ ‫متغیر‬ ‫دو‬ ‫جمع‬integer1‫و‬integer2‫ّر‬‫ی‬‫متغ‬ ‫به‬ ‫را‬ ‫حاصل‬ ‫و‬ ‫کند‬ ‫می‬ ‫محاسبه‬ ‫را‬sum، ‫جمع‬ ‫همان‬ ‫یا‬ ‫انتسابی‬ ‫عملگر‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫دهد‬ ‫می‬ ‫انتساب‬. ) = ( ،‫شود‬ ‫می‬ ‫خوانده‬ ‫شکل‬ ‫این‬ ‫به‬ ‫عبارت‬ ‫عبارت‬"‫یا‬ ‫جمع‬sum‫مقدار‬integer1 + integer2“‫گیرد‬ ‫می‬ ‫را‬. ‫شوند‬ ‫می‬ ‫انجام‬ ‫ها‬ ‫انتساب‬ ‫در‬ ‫محاسبات‬ ‫بیشتر‬. ‫عملگر‬=‫عملگر‬ ‫و‬+‫دویی‬ ‫دو‬ ‫های‬ ‫عملگر‬ ،(binary)‫دارند‬ ‫عملوند‬ ‫دو‬ ‫کدام‬ ‫هر‬ ‫زیرا‬ ‫شوند‬ ‫می‬ ‫شناخته‬ . ‫عملگر‬ ِ‫د‬‫عملون‬ ‫دو‬+،integer1‫و‬integer2‫هستند‬. ‫عملگر‬ ‫عملوند‬ ‫دو‬=،sum‫عبارت‬ ‫حاصل‬ ‫عددی‬ ‫مقدار‬ ‫و‬ ‫جمع‬ ‫یا‬integer1 + integer2‫هستند‬.
  • 55. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نکات‬‫مفید‬‫برای‬‫برنامه‬‫نویسی‬10.2 ‫در‬‫فاصله‬ ‫دودویی‬ ‫عملگر‬ ‫یک‬ ‫طرف‬ ‫دو‬‫بگذارید‬.‫برنام‬ ‫کار‬ ‫این‬‫را‬ ‫ه‬ ‫شود‬ ‫می‬ ‫باعث‬ ‫و‬ ‫کند‬ ‫می‬ ‫خواناتر‬‫شود‬ ‫ظاهر‬ ‫تر‬ ‫واضح‬ ‫عملگر‬.
  • 56. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬6.2 ‫محاسبه‬‫عملگر‬ ‫راست‬ ‫سمت‬ ‫در‬ ‫باید‬ ‫انتسابی‬ ‫عبارت‬ ‫یک‬ ‫در‬() = ‫گیرد‬ ‫قرار‬. ‫اگر‬‫داد‬ ‫قرار‬ ‫انتسابی‬ ‫عملگر‬ ‫یک‬ ‫چپ‬ ‫سمت‬ ‫در‬ ‫را‬ ‫محاسبه‬ ‫جواب‬‫ه‬ ‫شود‬‫کردن‬ ‫کامپایل‬ ‫در‬‫با‬‫مشکل‬(error)‫شود‬ ‫می‬ ‫مواجه‬.
  • 57. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫ساده‬ ‫ی‬ ‫برنامه‬3-2-‫جمع‬2‫عدد‬‫صحیح‬- ‫خط‬20Printf( "sum is %dn“ , sum ); /* print sum */ ‫متغیر‬ ‫بخواهید‬ ‫اینکه‬ ‫منظور‬ ‫به‬sum‫خروجی‬ ‫در‬ ‫آن‬ ‫واقعی‬ ‫مقدار‬ ‫صورت‬ ‫به‬ ‫را‬ ‫دستور‬ ‫از‬ ‫باید‬ ‫دهید‬ ‫نمایش‬printf‫کنید‬ ‫استفاده‬. ‫دستور‬printf‫دارای‬2‫آرگومان‬(‫عبارت‬)‫است‬."sum is %dn"‫و‬sum. ‫باشد‬ ‫می‬ ‫داده‬ ‫فرمت‬ ‫یا‬ ‫داده‬ ‫نوع‬ ‫کنترل‬ ‫رشته‬ ‫آرگومان‬ ‫اولین‬. ‫د‬ ‫نمایش‬ ‫نیز‬ ‫خروجی‬ ‫در‬ ‫که‬ ‫باشد‬ ‫می‬ ‫الفبایی‬ ‫های‬ ‫کارکتر‬ ‫شامل‬ ‫آرگومان‬ ‫این‬‫اده‬ ‫است‬ ‫معین‬ ‫مبدل‬ ‫شامل‬ ‫همچنین‬ ‫میشوند‬.‫مثال‬ ‫طور‬ ‫به‬%d‫که‬ ‫دهد‬ ‫می‬ ‫نشان‬ ‫شود‬ ‫می‬ ‫داده‬ ‫نمایش‬ ‫خروجی‬ ‫در‬ ‫صحیح‬ ‫عدد‬ ‫یک‬. ‫شود‬ ‫چاپ‬ ‫باید‬ ‫عبارت‬ ‫یا‬ ‫مقدار‬ ‫کدام‬ ‫کند‬ ‫می‬ ‫معین‬ ‫آرگومان‬ ‫دومین‬. ‫توجه‬:‫در‬ ‫باید‬ ‫معین‬ ‫مبدل‬printf‫و‬scanf‫باشد‬ ‫یکسان‬.
  • 58. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫ساده‬ ‫ی‬ ‫برنامه‬3-2-‫جمع‬2‫عدد‬‫صحیح‬- ‫نوشت‬ ‫خط‬ ‫یک‬ ‫در‬ ‫را‬ ‫دستور‬ ‫دو‬ ‫توان‬ ‫می‬ ‫نویسی‬ ‫کد‬ ‫عملیات‬ ‫سازی‬ ‫ساده‬ ‫برای‬.‫به‬ ‫متغیر‬ ‫از‬ ‫استفاده‬ ‫جای‬ ‫به‬ ‫مثال‬ ‫طور‬sum‫از‬ ‫توان‬ ‫می‬int1 + int2‫کرد‬ ‫استفاده‬. ‫کنید‬ ‫توجه‬ ‫زیر‬ ‫مثال‬ ‫به‬: Printf( "sum is %dn" , int1 + int2 ); Return 0; /* indicate that program ended successfully */ ‫مقدار‬ ‫که‬ ‫وقتی‬0‫ب‬ ‫برنامه‬ ‫که‬ ‫معناست‬ ‫این‬ ‫به‬ ‫گردد‬ ‫می‬ ‫بر‬ ‫عامل‬ ‫سیستم‬ ‫به‬‫ا‬ ‫موفقیت‬‫است‬ ‫شده‬ ‫اجرا‬. ‫گون‬ ‫هر‬ ‫یا‬ ‫غلط‬ ‫اجرای‬ ‫به‬ ‫نسبت‬ ‫برنامه‬ ‫واکنش‬ ‫مورد‬ ‫در‬ ‫بیشتر‬ ‫اطالعات‬ ‫برای‬‫ه‬ ‫فرمایید‬ ‫مراجعه‬ ‫خود‬ ‫عامل‬ ‫سیستم‬ ‫مخصوص‬ ‫راهنمای‬ ‫به‬ ‫مشکل‬. ‫خط‬ ‫در‬24‫راست‬ ‫آکوالد‬({)‫اصلی‬ ‫تابع‬ ‫عملیات‬ ‫که‬ ‫است‬ ‫آن‬ ‫ی‬ ‫دهنده‬ ‫نشان‬ (main)‫است‬ ‫رسیده‬ ‫پایان‬ ‫به‬. ‫خط‬22
  • 59. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬7.2 ‫فراموش‬‫دو‬ ‫یا‬ ‫یک‬ ‫از‬ ‫استفاده‬ ‫کردن‬( " )‫کنترل‬ ‫رشته‬ ‫طرفین‬ ‫در‬ ‫فرمت‬‫یک‬ ‫در‬printf‫یا‬scanf.
  • 60. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬8.2 ‫کردن‬ ‫فراموش‬‫از‬ ‫استفاده‬%‫رشته‬ ‫درون‬ ‫در‬ ‫معین‬ ‫مبدل‬ ‫یک‬ ‫در‬ ‫فرمت‬ ‫کنترل‬.
  • 61. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬9.2 ‫فاصله‬‫کنترل‬ ‫رشته‬ ‫از‬ ‫عباراتی‬ ‫گذاشتن‬ ‫بیرون‬ ‫یا‬ ‫انداختن‬‫فرمت‬ ‫همچون‬n.
  • 62. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬10.2 ‫فراموش‬‫ک‬ ‫کند‬ ‫می‬ ‫مشخص‬ ‫که‬ ‫اصطالحاتی‬ ‫کردن‬ ‫اضافه‬ ‫کردن‬‫دام‬ ‫مقادیر‬‫در‬ ‫شوند‬ ‫داده‬ ‫نشان‬ ‫باید‬printf‫های‬ ‫مبدل‬ ‫شامل‬ ‫که‬ ‫معین‬(%d - %e - %f …)‫است‬.
  • 63. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬11.2 ‫کنت‬ ‫رشته‬ ‫یک‬ ‫در‬ ‫نیاز‬ ‫مورد‬ ‫معین‬ ‫مبدل‬ ‫یک‬ ‫نگرفتن‬ ‫کار‬ ‫به‬‫رل‬ ‫فرمت‬‫نشان‬ ‫را‬ ‫پارامتر‬ ‫یک‬ ‫مقدار‬ ‫خواهیم‬ ‫می‬ ‫که‬ ‫وقتی‬‫دهیم‬.
  • 64. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬12.2 ‫ویرگول‬ ‫گذاشتن‬(,)‫باید‬ ‫که‬ ‫حالی‬ ‫در‬ ‫فرمت‬ ‫کنترل‬ ‫رشته‬ ‫بین‬‫بی‬‫ن‬ ‫پارامتری‬‫فرمت‬ ‫کنترل‬ ‫رشته‬ ‫و‬ ‫شود‬ ‫پرینت‬ ‫خواهد‬ ‫می‬ ‫که‬‫گ‬ ‫قرار‬‫یرد‬.
  • 65. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬13.2 ‫ب‬ ‫داده‬ ‫خواندن‬ ‫زمان‬ ‫در‬ ‫صریح‬ ‫تبدیل‬ ‫اشتباه‬ ‫شکل‬ ‫از‬ ‫استفاده‬‫ا‬ ‫دستور‬. scanf
  • 66. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬14.2 ‫عبارت‬ ‫بر‬ ‫متغیر‬ ‫ارزش‬ ‫تقدم‬ ‫کردن‬ ‫فراموش‬&‫دستور‬ ‫در‬ ،scanf ‫در‬‫عبارت‬ ‫بر‬ ‫باید‬ ‫متغیر‬ ‫که‬ ‫وقتی‬ ، ‫جمله‬&‫داشته‬ ‫تقدم‬‫باش‬‫د‬.
  • 67. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬15.2 ‫دستور‬ ‫عبارت‬ ‫در‬ ‫موجود‬ ‫متغیر‬ ‫تقدم‬printf‫عبارت‬ ‫بر‬&‫هنگامی‬ ، ‫که‬‫نباید‬ ‫متغیر‬‫بر‬&‫داشته‬ ‫تقدم‬‫باشد‬.
  • 68. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫درسنامه‬3-2-‫حافظه‬ ‫مفهوم‬- ‫مانند‬ ‫ها‬ ‫متغیر‬ ‫اسامی‬:integer1 , integer2‫و‬sum‫ی‬ ‫حافظه‬ ‫در‬ ‫قرارگیریشان‬ ‫محل‬ ‫با‬ ‫باید‬ ‫واقع‬ ‫در‬ ، ‫باشند‬ ‫داشته‬ ‫همخوانی‬ ، ‫سیستم‬. ‫نام‬ ‫یک‬ ‫دارای‬ ‫متغیر‬ ‫هر‬(name)‫نوع‬ ‫یک‬ ،(type)‫مقدار‬ ‫یک‬ ‫و‬(value)‫است‬. ‫ی‬ ‫برنامه‬ ‫در‬"‫جمع‬"‫مثال‬ ‫در‬5-2‫عبارت‬ ‫در‬(‫خط‬13: ) Scanf( “%d” , &integer1) ; /* read an integer */ ‫نام‬ ‫با‬ ‫و‬ ‫شده‬ ‫نوشته‬ ‫حافظه‬ ‫محل‬ ‫در‬ ‫کاربر‬ ‫توسط‬ ‫که‬ ‫مقداری‬integer1‫میشود‬ ‫اجرا‬ ، ‫میشود‬ ‫شناخته‬. ‫عدد‬ ، ‫کاربر‬45‫برای‬ ‫مقدار‬ ‫عنوان‬ ‫به‬ ‫را‬integer1‫است‬ ‫گرفته‬ ‫نظر‬ ‫در‬. ‫عدد‬ ، ‫کامپیوتر‬45‫محل‬ ‫در‬ ‫را‬integer1‫در‬ ‫که‬ ‫شکلی‬ ‫،به‬ ‫کرد‬ ‫خواهد‬ ‫جاگذاری‬‫مثال‬6-2‫داده‬ ‫نشان‬ ‫است‬ ‫شده‬.
  • 69. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C 45Integer 1 ‫مثال‬6-2‫حافظه‬‫نمایش‬ ‫را‬ ‫متغیر‬ ‫مقدار‬ ‫و‬ ‫اسم‬ ،‫میدهد‬.
  • 70. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫درسنامه‬4-2-‫حافظه‬ ‫مفهوم‬- ‫مقداری‬ ‫که‬ ‫جایی‬ ‫هر‬(‫جدید‬)‫در‬ ‫قبلی‬ ‫مقدار‬ ‫روی‬ ‫بر‬ ، ‫مقدار‬ ‫آن‬ ،‫بگیرد‬ ‫قرار‬ ‫حافظه‬ ‫در‬ ‫میشود‬ ‫جایگزین‬ ‫حافظه‬;‫به‬ ‫که‬ ‫میدهد‬ ‫حافظه‬ ‫به‬ ‫را‬ ‫جدید‬ ‫مقدار‬ ، ‫که‬ ‫ترتیب‬ ‫این‬ ‫به‬ ‫عمل‬ ‫این‬“destructive”(‫جایگزینی‬)‫میشود‬ ‫گفته‬. ‫برنامه‬ ‫به‬ ‫دوباره‬"‫جمع‬"‫عبارت‬ ‫در‬ ، ‫برگردیم‬ ‫خودمان‬: scanf( “%d” , &integer2) ; /* read an integer */ ‫عدد‬72‫میکند‬ ‫اجرا‬ ‫را‬ ‫کرده‬ ‫فرض‬ ‫کاربر‬ ‫که‬ ‫را‬. ‫محل‬ ‫در‬ ، ‫مقدار‬ ‫این‬integer2‫میشود‬ ‫ظاهر‬ ‫حافظه‬ ‫در‬ ‫و‬ ، ‫میگیرد‬ ‫قرار‬. ‫مانند‬‫مثال‬7-2 ‫باشند‬ ‫حافظه‬ ‫نزدیک‬ ‫که‬ ‫ندارند‬ ‫لزومی‬ ، ‫ها‬ ‫محل‬ ‫این‬. ‫خط‬16
  • 71. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫درسنامه‬4-2-‫حافظه‬ ‫مفهوم‬- ‫برای‬ ‫را‬ ‫مقدار‬ ‫برنامه‬ ‫که‬ ‫بار‬ ‫اولین‬integer1‫و‬integer2‫آنها‬ ‫مجموع‬ ، ‫آورده‬ ‫بدست‬ ‫متغیر‬ ‫در‬ ‫و‬ ‫محاسبه‬ ‫را‬sum‫میدهد‬ ‫قرار‬. ‫عبارت‬: Sum = integer1 + integer2 ; /* assign total to sum */ ‫در‬ ‫که‬ ‫مقداری‬ ‫هر‬ ‫بجای‬ ‫و‬ ‫میشود‬ ‫انجام‬ ‫جمع‬ ‫عمل‬sum‫جایگزین‬ ، ‫باشد‬ ‫شده‬ ‫ذخیره‬ ‫شود‬ ‫می‬. ‫خط‬18
  • 72. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫درسنامه‬3-2-‫حافظه‬ ‫مفهوم‬- ‫متغیر‬ ‫دو‬ ‫مقادیر‬ ‫مجموع‬ ‫که‬ ‫میدهد‬ ‫رخ‬ ‫وقتی‬ ‫اتفاق‬ ‫این‬integer1‫و‬integer2‫محل‬ ‫در‬ ‫و‬ ‫شده‬ ‫محاسبه‬ sum‫بگیرد‬ ‫قرار‬.)‫قبلی‬ ‫مقدار‬ ‫جایگزین‬ ، ‫مقدار‬ ‫این‬sum‫شود‬ ‫می‬) ‫اینکه‬ ‫از‬ ‫پس‬sum‫میشود‬ ‫ظاهر‬ ‫حافظه‬ ، ‫شد‬ ‫محاسبه‬. ‫مانند‬‫مثال‬8-2 ‫مقدار‬integer1‫و‬integer2، ‫بود‬ ‫شده‬ ‫استفاده‬ ‫محاسبه‬ ‫در‬ ‫آنها‬ ‫از‬ ‫قبال‬ ‫که‬ ‫مقادیری‬ ‫مثل‬ ‫دقیقا‬ ، ‫میشود‬ ‫ظاهر‬.
  • 73. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C 45 72 integer 1 integer 2 ‫مثال‬7-2‫سپس‬‫وارد‬ ‫را‬ ‫مقدار‬ ‫دو‬ ‫هر‬ ‫حافظه‬ ‫در‬‫میشود‬.
  • 74. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C 45 72 integer 1 integer 2 ‫مثال‬7-2‫محاسبه‬ ‫حافظه‬ ‫در‬ ‫سپس‬‫میشود‬ ‫انجام‬. 117sum
  • 75. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫درسنامه‬4-2-‫حافظه‬ ‫مفهوم‬- ‫میدهد‬ ‫انجام‬ ‫را‬ ‫محاسبه‬ ‫کامپیوتر‬ ‫که‬ ‫زمانی‬ ‫در‬ ، ‫شوند‬ ‫نمی‬ ‫جایگزین‬ ‫اما‬ ، ‫شود‬ ‫می‬ ‫استفاده‬ ‫آنها‬ ‫از‬. ‫پردازش‬ ‫این‬ ‫به‬ ، ‫ترتیب‬ ‫بدین‬“nondestructive”(‫جایگزینی‬ ‫بدون‬)‫میشود‬ ‫گفته‬.
  • 76. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬5-2-‫در‬ ‫محاسبات‬C- ‫در‬ ‫محاسباتی‬ ‫های‬ ‫عملگر‬C‫مثال‬ ‫در‬ ‫خالصه‬ ‫طور‬ ‫به‬ ،9-2‫شده‬ ‫نوشته‬. ‫ا‬ ‫ریاضیات‬ ‫در‬ ‫که‬ ‫نیست‬ ‫های‬ ‫نشانه‬ ‫شکل‬ ‫میشود،به‬ ‫استفاده‬ ‫مختلف‬ ‫های‬ ‫قسمت‬ ‫در‬ ‫که‬ ‫عالئمی‬‫ستفاده‬ ‫میشود‬. ‫عالمت‬) *("asterisk"‫عالمت‬ ‫و‬ ‫دارد‬ ‫اشاره‬ ‫ضرب‬ ‫عمل‬ ‫بر‬)%(“percent sing”‫برای‬ ‫عملگر‬ ‫عنوان‬ ‫به‬ ‫شوند‬ ‫می‬ ‫معرفی‬ ‫زیر‬ ‫در‬ ‫که‬ ‫صورتی‬ ‫به‬ ، ‫شود‬ ‫می‬ ‫شناخته‬ ‫مانده‬ ‫باقی‬ ‫محاسبه‬: ‫مقدار‬ ‫دو‬ ‫بخواهیم‬ ‫اگر‬ ، ‫ریاضیات‬ ‫در‬a‫و‬b‫در‬ ‫را‬ ‫مقدار‬ ‫دو‬ ‫سادگی‬ ‫به‬ ‫میتوانیم‬ ، ‫کنیم‬ ‫ضرب‬ ‫هم‬ ‫در‬ ‫را‬ ‫عبارت‬ ‫تک‬ ‫و‬ ‫بنویسیم‬ ‫هم‬ ‫کنار‬ab‫باشیم‬ ‫داشته‬ ‫ضرب‬ ‫دستور‬ ‫عنوان‬ ‫به‬ ‫را‬. ‫در‬c، ‫دهیم‬ ‫انجام‬ ‫را‬ ‫عمل‬ ‫این‬ ‫بخواهیم‬ ‫اگر‬ ،ab‫تکی‬ ‫عبارت‬ ‫یک‬ ‫عنوان‬ ‫به‬(‫گرفتن‬ ‫نظر‬ ‫در‬ ‫بدون‬a‫و‬b ‫جدا‬ ‫مقدار‬ ‫دو‬ ‫صورت‬ ‫به‬)‫شود‬ ‫می‬ ‫خوانده‬. ، ‫وجود‬ ‫این‬ ‫با‬c‫عالمت‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫و‬ ، ‫روشن‬ ‫و‬ ‫واضح‬ ‫طور‬ ‫به‬ ‫که‬ ‫داره‬ ‫نیاز‬)*(‫داده‬ ‫توضیح‬ ‫آن‬ ‫برای‬ ‫شود‬.‫مثل‬:a*b
  • 77. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫مثال‬9-2‫عملگر‬‫های‬‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬ ‫محاسباتی‬. C‫دستور‬ ‫جبری‬ ‫عملگر‬ ‫جبری‬ ‫عملیات‬C
  • 78. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬5-2-‫در‬ ‫محاسبات‬C- ‫دوتایی‬ ‫عملگرهای‬ ‫،همگی‬ ‫محاسباتی‬ ‫های‬ ‫عملگر‬(binary)‫هستند‬. ‫عبارت‬ ، ‫مثال‬ ‫عنوان‬ ‫به‬7+3‫دوتایی‬ ‫عملگر‬ ‫یک‬ ‫شامل‬)+(‫های‬ ‫عملوند‬ ‫و‬3‫و‬7‫است‬. ‫میدهد‬ ‫نتیجه‬ ‫را‬ ‫صحیح‬ ‫عدد‬ ‫یک‬ ، ‫صحیح‬ ‫عدد‬ ‫تقسیم‬. ‫عبارت‬ ، ‫مثال‬ ‫برای‬7/4‫با‬ ‫است‬ ‫برابر‬1‫عبارت‬ ‫و‬17/5‫با‬ ‫است‬ ‫برابر‬3. C‫ع‬ ‫تقسیم‬ ‫ی‬ ‫مانده‬ ‫باقی‬ ‫که‬ ‫شکلی‬ ‫به‬ ‫آورده‬ ‫وجود‬ ‫به‬ ‫ورودی‬ ‫عدد‬ ‫صورت‬ ‫به‬ ‫را‬ ‫مانده‬ ‫باقی‬ ‫عملگر‬‫دد‬ ‫میدهد‬ ‫نشان‬ ‫را‬ ‫صحیح‬. ‫شود‬ ‫استفاده‬ ‫صحیح‬ ‫اعداد‬ ‫برای‬ ‫میتواند‬ ‫که‬ ‫است‬ ‫صحیح‬ ‫عملگر‬ ‫یک‬ ، ‫مانده‬ ‫باقی‬ ‫عملگر‬. ‫عبارت‬x%y‫تقسیم‬ ‫ی‬ ‫مانده‬ ‫باقی‬x‫بر‬y‫دهد‬ ‫می‬ ‫نتیجه‬ ‫را‬. ، ‫ترتیب‬ ‫بدین‬4%7،3‫و‬5%17،2‫میدهد‬ ‫نتیجه‬ ‫را‬.
  • 79. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬16.2 ‫تالش‬‫طورطبی‬ ‫به‬ ، ‫کامپیوتری‬ ‫های‬ ‫سیستم‬ ‫در‬ ‫صفر‬ ‫بر‬ ‫تقسیم‬ ‫برای‬‫،تعریف‬ ‫عی‬ ‫میدهد‬ ‫نتیجه‬ ‫را‬ ‫مخرب‬ ‫خطای‬ ‫یه‬ ‫معموال‬ ‫و‬ ‫است‬ ‫نشده‬‫،به‬، ‫مثال‬ ‫عنوان‬‫خطا‬ “job”‫خطایی‬، ‫موفق‬ ‫عملیات‬ ‫داشتن‬ ‫بدون‬ ‫برنامه‬ ‫میشود‬ ‫باعث‬ ‫که‬ ‫است‬‫به‬ ‫پایان‬ ‫سرعت‬‫یابد‬. ‫غیرمخرب‬ ‫خطاهای‬‫یک‬ ‫اغلب‬ ‫و‬ ‫میدهند‬ ‫را‬ ‫کامل‬ ‫اجرای‬ ‫ی‬ ‫اجازه‬ ‫برنامه‬ ‫به‬ ، ‫را‬ ‫نادرست‬ ‫ی‬ ‫نتیجه‬‫میسازند‬.
  • 80. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫درسنامه‬5-2-‫در‬ ‫محاسبات‬C- ‫در‬ ‫محاسباتی‬ ‫های‬ ‫عبارت‬c‫خطی‬ ‫یک‬ ‫صورت‬ ‫به‬ ‫باید‬ ، ‫کامپیوتر‬ ‫در‬ ‫ها‬ ‫برنامه‬ ‫به‬ ‫ورود‬ ‫در‬ ‫سهولت‬ ‫برای‬ ، (straight line)‫شوند‬ ‫نوشته‬. ‫مانند‬ ‫هایی‬ ‫عبارت‬ ، ‫ترتیب‬ ‫بدین‬"a‫بر‬ ‫تقسیم‬b"‫صورت‬ ‫به‬ ‫باید‬a/b‫که‬ ‫طورتی‬ ‫به‬ ، ‫شوند‬ ‫نوشته‬ ‫باشند‬ ‫داشته‬ ‫وجود‬ ‫خط‬ ‫یک‬ ‫در‬ ‫ها‬ ‫عملوند‬ ‫و‬ ‫عملگرها‬ ‫تمام‬. ‫جبری‬ ‫نماد‬( the algebraic notation) ‫ها‬ ‫بسته‬ ‫خاص‬ ‫مفاهیم‬ ‫از‬ ‫بعضی‬ ‫وجود‬ ‫این‬ ‫با‬ ، ‫نیستد‬ ‫قبول‬ ‫قابل‬ ‫کامپایلر‬ ‫برای‬ ‫معمول‬ ‫طور‬ ‫به‬‫نرم‬ ‫ی‬ ‫م‬ ‫انجام‬ ‫را‬ ‫پیچیده‬ ‫محسباتی‬ ‫های‬ ‫عبارت‬ ‫برای‬ ، ‫طبیعی‬ ‫های‬ ‫عالمت‬ ‫بیشتر‬ ‫پشتیبانی‬ ‫کار‬ ‫افزاری‬‫یدهند‬.
  • 81. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬5-2-‫در‬ ‫محاسبات‬C- ‫از‬ ‫استفاده‬ ‫نحوه‬‫پرانتزها‬‫زبان‬ ‫در‬C‫میکنیم‬ ‫استفاده‬ ‫یاضی‬ ‫و‬ ‫جبر‬ ‫در‬ ‫ما‬ ‫که‬ ‫است‬ ‫ای‬ ‫همانگونه‬ ‫به‬. ‫مقدار‬ ‫کردن‬ ‫ضرب‬ ‫برای‬ ‫مثال‬ ‫عنوان‬ ‫به‬a‫مقادیر‬ ‫مجموع‬ ‫در‬b‫و‬c‫می‬ ‫استفاده‬ ‫پرانتز‬ ‫از‬ ‫زیر‬ ‫صورت‬ ‫به‬ ‫کنیم‬:a * ( b + c )
  • 82. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬5-2-‫در‬ ‫محاسبات‬C- ‫زبان‬ ‫در‬ ‫پرانتزها‬ ‫از‬ ‫استفاده‬C‫را‬ ‫ریاضی‬ ‫عبارات‬ ‫در‬ ‫عملگرها‬ ‫محاسبه‬ ‫که‬ ‫میکند‬ ‫میسر‬ ‫را‬ ‫امکان‬ ‫این‬ ‫کنیم‬ ‫بندی‬ ‫اولویت‬. ‫شد‬ ‫خواهند‬ ‫محاسبه‬ ‫همه‬ ‫از‬ ‫اول‬ ، ‫اند‬ ‫گرفته‬ ‫قرار‬ ‫پرانتز‬ ‫دو‬ ‫بین‬ ‫عبارات‬ ‫در‬ ‫که‬ ‫عملگرهایی‬.‫نتی‬ ‫در‬‫با‬ ‫جه‬ ‫دهید‬ ‫قرار‬ ،‫میخواهید‬ ‫که‬ ‫ترتیبی‬ ‫همان‬ ‫به‬ ‫را‬ ‫محاسبه‬ ‫بندی‬ ‫اولویت‬ ‫میتوان‬ ‫ها‬ ‫پرانتز‬ ‫از‬ ‫استفاده‬.‫حتی‬ ‫کنید‬ ‫استفاده‬ ‫نیز‬ ‫هم‬ ‫درون‬ ‫پرانتز‬ ‫چند‬ ‫از‬ ‫میتوانید‬.( ( a + b ) + c ) ‫توجه‬:‫هستند‬ ‫اولویت‬ ‫در‬ ، ‫اند‬ ‫آمده‬ ‫پرانتز‬ ‫درونیترین‬ ‫در‬ ‫که‬ ‫عملگرهایی‬.
  • 83. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬5-2-‫در‬ ‫محاسبات‬C- ‫میگیرد‬ ‫قرار‬ ‫تقسیم‬ ‫و‬ ‫ضرب‬ ‫عملیات‬ ‫آن‬ ‫از‬ ‫بعد‬ ‫و‬ ‫دارد‬ ‫قرار‬ ‫ارجحیت‬ ‫در‬ ‫محاسبات‬ ‫در‬ ‫توان‬ ‫عملیات‬.‫ا‬‫گر‬ ‫انج‬ ‫راست‬ ‫به‬ ‫چپ‬ ‫از‬ ‫ترتیب‬ ‫به‬ ‫مقادیر‬ ‫کردن‬ ‫حساب‬ ، ‫داشت‬ ‫وجود‬ ‫تقسیم‬ ‫و‬ ‫ضرب‬ ‫چند‬ ‫عبارت‬ ‫یک‬ ‫در‬‫ام‬ ‫شود‬ ‫می‬.‫هستند‬ ‫یکسان‬ ‫اولویت‬ ‫دارای‬ ‫تقسیم‬ ‫و‬ ‫ضرب‬. ‫میگیرند‬ ‫انجام‬ ‫بعد‬ ‫مرحله‬ ‫در‬ ‫تفریق‬ ‫و‬ ‫جمع‬.‫دا‬ ‫وجود‬ ‫تفریق‬ ‫و‬ ‫جمع‬ ‫عملیات‬ ‫چند‬ ‫عبارت‬ ‫یک‬ ‫در‬ ‫اگر‬‫شته‬ ‫باشد‬ ‫می‬ ‫راست‬ ‫به‬ ‫چپ‬ ‫از‬ ‫محاسبه‬ ‫ترتیب‬ ، ‫باشد‬.‫ت‬ ‫پایین‬ ‫و‬ ‫اولویت‬ ‫از‬ ‫سطح‬ ‫یک‬ ‫در‬ ‫ها‬ ‫آن‬ ‫همچنین‬‫از‬ ‫ر‬ ‫هستند‬ ‫تقسیم‬ ‫و‬ ‫ضرب‬ ،‫توان‬ ‫عملیات‬.
  • 84. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬5-2-‫در‬ ‫محاسبات‬C- ‫زبان‬ ‫در‬ ‫عملگرها‬ ‫اولیت‬ ‫به‬ ‫مربوط‬ ‫قوانین‬ ‫این‬C‫آغاز‬ ‫قسمت‬ ‫کدام‬ ‫از‬ ‫را‬ ‫محاسبه‬ ‫که‬ ‫کنند‬ ‫می‬ ‫مشخص‬ ‫کند‬.‫قوانین‬ ‫که‬ ‫است‬ ‫این‬ ‫منظورمان‬ ، ‫شود‬ ‫می‬ ‫انجام‬ ‫راست‬ ‫به‬ ‫چپ‬ ‫از‬ ‫عملیات‬ ‫میگوییم‬ ‫که‬ ‫وقتی‬‫مربوط‬ ‫گیرد‬ ‫می‬ ‫صورت‬ ‫ترتیب‬ ‫به‬ ‫آن‬ ‫به‬ ‫توجه‬ ‫با‬ ‫و‬ ‫شود‬ ‫می‬ ‫بررسی‬ ‫راست‬ ‫به‬ ‫چپ‬ ‫از‬ ‫ها‬ ‫عملگر‬ ‫اولویت‬ ‫به‬. ‫دهد‬ ‫رخ‬ ‫چپ‬ ‫به‬ ‫راست‬ ‫از‬ ‫عملیات‬ ‫که‬ ‫افتد‬ ‫می‬ ‫اتفاق‬ ‫گاهی‬. ‫مثال‬10-2‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬ ‫عملگرها‬ ‫الویت‬ ‫به‬ ‫مربوط‬ ‫قوانین‬ ‫از‬ ‫ای‬ ‫خالصه‬.
  • 85. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫عملگر‬‫ها‬ ‫عملیات‬ ‫بندی‬ ‫الویت‬ ‫مثال‬10-2‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬ ‫محاسباتی‬ ‫عملگرهای‬ ‫تقدم‬.
  • 86. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬5-2-‫در‬ ‫محاسبات‬C- ‫مئال‬11-2‫میدهد‬ ‫نشان‬ ‫را‬ ‫عملگرها‬ ‫اجرا‬ ‫ترتیب‬.
  • 87. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫مرحله‬1 y = 2 * 5 * 5 + 3 * 5 + 7; 2 * 5 is 10 ‫مرحله‬2 y = 10 * 5 + 3 * 5 + 7; 10 * 5 is 50 ‫مرحله‬3 y = 50 + 3 * 5 + 7; 3 * 5 is 15 ‫مرحله‬4 y = 50 + 15 + 7 50 + 15 is 65 ‫مرحله‬5 y = 65 + 7 65 + 7 is 72 ‫مرحله‬6 y = 72
  • 88. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬5-2-‫در‬ ‫محاسبات‬C- ‫کنیم‬ ‫استفاده‬ ‫پرانتز‬ ‫از‬ ‫ریاضی‬ ‫عبارات‬ ‫کردن‬ ‫تر‬ ‫واضح‬ ‫برای‬ ‫که‬ ‫است‬ ‫الزم‬ ،‫جبر‬ ‫همانند‬. ‫پرانتزها‬ ‫اینگونه‬redundant parentheses‫دارند‬ ‫نام‬.
  • 89. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫برای‬ ‫مفید‬ ‫نکات‬11.2 ‫استفاده‬‫از‬redundant parentheses‫عبارات‬ ‫در‬‫ریاضی‬ ‫پیچیده‬‫می‬ ‫باعث‬‫آن‬ ‫فهم‬ ‫که‬ ‫شود‬‫آ‬‫سانتر‬‫تر‬ ‫واضح‬ ‫عبارت‬ ‫و‬‫ش‬‫ود‬.
  • 90. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬6-2-‫تصمیم‬‫گیری‬:‫و‬ ‫ای‬ ‫رابطه‬ ‫عملگرهای‬‫برابری‬- ‫زبان‬ ‫اجرایی‬ ‫های‬ ‫دستور‬C‫مختلف‬ ‫عملیات‬ ‫اجرای‬ ‫شامل‬(‫ه‬ ‫داده‬ ‫فرستادن‬ ‫یا‬ ‫گرفتن‬ ،‫محاسبات‬ ‫مانند‬‫ا‬) ‫گیری‬ ‫تصمیم‬ ‫و‬(‫دید‬ ‫خواهید‬ ‫آن‬ ‫از‬ ‫بیشتری‬ ‫های‬ ‫مثال‬ ‫ادامه‬ ‫در‬ ‫که‬)‫شوند‬ ‫می‬. ‫امتحان‬ ‫در‬ ‫شخصی‬ ‫ی‬ ‫نمره‬ ‫اگر‬ ‫مثال‬ ‫عنوان‬ ‫به‬ ‫که‬ ‫باشیم‬ ‫داشته‬ ‫تصمیم‬ ‫ای‬ ‫برنامه‬ ‫در‬ ‫است‬ ‫ممکن‬‫با‬ ‫برابر‬ 60‫عبارت‬ ‫شد‬ ‫ان‬ ‫از‬ ‫بیشتر‬ ‫یا‬“Congratulations! You passed .”‫کند‬ ‫چاپ‬ ‫را‬. ‫شرطی‬ ‫عبارات‬ ‫از‬ ‫ای‬ ‫ساده‬ ‫نوع‬ ‫قسمت‬ ‫این‬ ‫در‬(if statement)‫زبان‬ ‫در‬C‫به‬ ‫که‬ ‫میکنیم‬ ‫معرفی‬ ‫را‬ ‫عبارت‬ ‫بودن‬ ‫غلط‬ ‫یا‬ ‫درست‬ ‫اساس‬ ‫بر‬ ‫که‬ ‫دهد‬ ‫می‬ ‫را‬ ‫اجازه‬ ‫این‬ ‫برنامه‬‫کند‬ ‫گیری‬ ‫تصمیم‬ ،.
  • 91. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬6-2-‫در‬ ‫محاسبات‬C- ‫شرط‬ ‫اگر‬‫برقرار‬‫باشد‬(‫باشد‬ ‫درست‬ ‫شرط‬)‫میشود‬ ‫اجرا‬ ‫نتیجه‬ ‫یا‬ ‫اصلی‬ ‫عبارت‬. ‫برقرار‬ ‫شرط‬ ‫اگر‬‫نباشد‬(‫باشد‬ ‫غلط‬ ‫شرط‬)‫شود‬ ‫نمی‬ ‫اجرا‬ ‫نتیجه‬ ‫یا‬ ‫اصلی‬ ‫عبارت‬. ، ‫نه‬ ‫یا‬ ‫شود‬ ‫اجرا‬ ‫اصلی‬ ‫عبارت‬ ‫اگر‬ ‫حتی‬(‫شرط‬ ‫عبارت‬ ‫اتمام‬ ‫بعداز‬)‫ش‬ ‫دستور‬ ‫اجرای‬ ‫به‬ ‫شروع‬ ‫برنامه‬ ،‫رطی‬ ‫کند‬ ‫می‬ ‫بعدی‬. ‫داد‬ ‫نشان‬ ‫برابری‬ ‫و‬ ‫ای‬ ‫رابطه‬ ‫عملگرهای‬ ‫با‬ ‫توان‬ ‫می‬ ‫را‬ ‫شرطی‬ ‫عبارات‬( .‫به‬‫مثال‬12-2‫کنید‬ ‫توجه‬)
  • 92. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬6-2-‫در‬ ‫محاسبات‬C- ‫راس‬ ‫به‬ ‫چپ‬ ‫از‬ ‫آنها‬ ‫ی‬ ‫همه‬ ‫و‬ ‫دارند‬ ‫قرار‬ ‫اولویت‬ ‫در‬ ‫تساوی‬ ‫به‬ ‫نسبت‬ ‫تناسب‬ ‫عالیم‬ ،‫اجرایی‬ ‫ترتیب‬ ‫در‬‫ت‬ ‫شوند‬ ‫می‬ ‫محاسبه‬. ‫زبان‬ ‫در‬C‫غ‬ ‫و‬ ‫صفر‬ ،‫بودن‬ ‫درست‬ ‫صورت‬ ‫در‬ ‫که‬ ‫شود‬ ‫نوشته‬ ‫دستوری‬ ‫صورت‬ ‫به‬ ‫میتواند‬ ‫شرط‬ ‫یک‬ ،‫لط‬ ‫شود‬ ‫بیان‬ ‫صفر‬ ‫جز‬ ‫به‬ ‫عددی‬ ‫با‬ ‫بودن‬.
  • 93. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫یا‬ ‫جبری‬ ‫برابری‬ ‫عملگرها‬ ‫ی‬ ‫رابطه‬ ‫ی‬ ‫رابطه‬ ‫عملگرها‬ ‫زبان‬ ‫به‬C ‫در‬ ‫مثالی‬ ‫زبان‬C ‫م‬‫ع‬‫در‬ ‫نی‬‫زبان‬C ‫مثال‬12-2‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬ ‫برابری‬ ‫و‬ ‫ای‬ ‫رابطه‬ ‫عملگرهای‬.
  • 94. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬17.2 ‫عالیم‬ ‫بین‬ ‫اگر‬==،!=،=>‫و‬=<‫خطای‬ ،‫بیافتد‬ ‫فاصله‬‫نوشتا‬‫ری‬ (syntax error)‫رخ‬‫دهد‬ ‫می‬.
  • 95. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬18.2 ‫اگر‬‫عالیم‬!=،=>‫و‬=<‫نوشته‬ ‫جا‬ ‫به‬ ‫جا‬، ‫شوند‬‫خطای‬‫نوشتاری‬ (syntax error)‫رخ‬‫دهد‬ ‫می‬.
  • 96. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬19.2 ‫توجه‬‫تساوی‬ ‫عملگر‬ ‫که‬ ‫باشید‬ ‫داشته‬(==)‫دهی‬ ‫نسبت‬ ‫عملگر‬ ‫با‬ () =‫نگیرید‬ ‫اشباه‬!
  • 97. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬6-2-‫در‬ ‫محاسبات‬C- ‫صورت‬ ‫به‬ ‫باید‬ ‫مساوی‬ ‫عملگر‬ ، ‫سردرگمی‬ ‫از‬ ‫جلوگیری‬ ‫برای‬"‫مساوی‬ ‫جفت‬" )==(‫عمل‬ ‫و‬ ‫شود‬ ‫خوانده‬‫گر‬ ‫صورت‬ ‫به‬ ‫باید‬ ‫انتسابی‬"‫گیرنده‬"‫یا‬"‫مقدار‬ ‫ی‬ ‫دهنده‬ ‫نشان‬"‫شود‬ ‫می‬ ‫نظرگرفته‬ ‫در‬. ‫اسان‬ ‫به‬ ‫که‬ ‫کامپایل‬ ‫هنگام‬ ‫خطایی‬ ‫باعث‬ ‫لزوما‬ ‫عملگرها‬ ‫سردرگمی‬ ، ‫دید‬ ‫خواهیم‬ ‫بزودی‬ ‫که‬ ‫طور‬ ‫همان‬‫ی‬ ‫شود‬ ‫اجرا‬ ‫هنگام‬ ‫خطا‬ ‫باعث‬ ‫است‬ ‫ممکن‬ ‫بلکه‬ ‫شود‬ ‫نمی‬ ، ‫باشد‬ ‫تشخیص‬ ‫قابل‬.
  • 98. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫نویسی‬ ‫برنامه‬ ‫متداول‬ ‫اشتباهات‬20.2 ‫قراردادن‬‫ویرگول‬ ‫نقطه‬ ‫یک‬";"‫راست‬ ‫سمت‬ ‫در‬ ‫بالفاصله‬ ‫از‬ ‫بعد‬ ‫ها‬ ‫پرانتز‬‫شرط‬‫در‬‫شرطی‬ ‫دستور‬ ‫یک‬if.
  • 99. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C ‫ی‬ ‫برنامه‬6-2-‫در‬ ‫محاسبات‬C- ‫مثال‬13-2‫شرطی‬ ‫دستور‬ ‫شش‬ ‫از‬if‫توسط‬ ‫که‬ ‫عدد‬ ‫دو‬ ‫ی‬ ‫مقایسه‬ ‫برای‬‫کاربر‬‫استفاده‬ ‫شده‬ ‫وارد‬‫کند‬ ‫می‬. ‫شرط‬ ‫اگر‬‫یک‬ ‫هر‬ ‫در‬‫شرطی‬ ‫دستورهای‬ ‫از‬if‫باشد‬ ‫برقرار‬‫دستور‬ ،printf‫شود‬ ‫می‬ ‫اجرا‬ ‫شرط‬ ‫آن‬ ‫با‬ ‫همراه‬.
  • 100. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C 1 /* Fig . 2 .13: fig02_13 .c 2 Using if statemants, relational 3 Oprators, and equality oprators */ 4 #include <stdio .h> 5 6 /* function main begins program execution */ 7 int main( void ) 8 { 9 int num1; /* first number to be read from user */ 10 int num2; /* second nmber to be read from user */ 11 12 printf( " Enter two integers, and I will tell youn " ); 13 printf( " the relationships they satisfy: " ); 14 15 scanf( "%d%d" , &num1, &num2 ); /* read two integers */ 16 17 if ( num1 == num2 ) { 18 printf( "%d is equal to %dn" , num1, num2 ); 19 } /* end if */ 20 21 if ( num1 !=nm2 ) { 22 printf( "%d is not equal to %dn" , num1, num2 ); 23 } /* end if */ ‫مثال‬13-2‫از‬ ‫استفاده‬‫دستور‬‫شرطی‬if‫عملگرهای‬ ‫و‬ ‫ای‬ ‫رابطه‬ ‫عملگرهای‬ ،‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬ ‫برابری‬( .‫بخش‬1‫از‬3)
  • 101. ‫می‬ ‫گیالن‬ ‫شرق‬ ‫مهندسی‬ ‫فنی‬ ‫دانشکده‬ ‫به‬ ‫مطعلق‬ ‫اثر‬ ‫این‬ ‫حقوق‬ ‫کلیه‬‫باشد‬. ‫با‬ ‫نویسی‬ ‫برنامه‬C 24 25 if ( num1 < num2 ) { 26 printf( "%d is less than %dn" , num1 , num2 ) 27 } /* end if */ 28 29 if ( num1 > num2 ) { 30 printf( "%d is greater than %dn", num1, num2 ) ; 31 } /* end if */ 32 33 If ( num1<=num2 ) { 34 printf( "%d is less than or equal to %dn" , num1, num2 ); 35 } /*end if*/ 36 37 If ( num1>= num2) { 38 printf( "%d is greater than %dn " , num1, num2); 39 } /* end if */ 40 41 return 0; /* indicate that program ended sccessully */ 42 } /* end function main*/ ‫مثال‬13-2‫استفاده‬‫شرطی‬ ‫دستور‬ ‫از‬if‫عملگرهای‬ ‫و‬ ‫ای‬ ‫رابطه‬ ‫عملگرهای‬ ،‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬ ‫برابری‬(.‫بخش‬2‫از‬3)